Compare commits
1982 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9e44e8561e | ||
|
0f0a83786b | ||
|
7dd88208a7 | ||
|
f134e48a49 | ||
|
88da871f6a | ||
|
a54e5fbf46 | ||
|
d3eb5c3f88 | ||
|
0a3a9a7e97 | ||
|
9171de999b | ||
|
f8ca1ac994 | ||
|
5cc86b7876 | ||
|
ba24e57896 | ||
|
bf3cbb4fbe | ||
|
e3cb3a1c10 | ||
|
e2cc678daa | ||
|
966445a465 | ||
|
607042b865 | ||
|
5d9685ba5c | ||
|
bfd7433647 | ||
|
19ced2239c | ||
|
f35ca66fb7 | ||
|
9c8807302b | ||
|
54e7fbdd5d | ||
|
c9bbd96fa6 | ||
|
f299d0b923 | ||
|
2c91365cbb | ||
|
f91d9f30ce | ||
|
a7c3cce720 | ||
|
82794ed207 | ||
|
6572f9820a | ||
|
707a8cb280 | ||
|
23d87d9824 | ||
|
53f4569d11 | ||
|
45b10435df | ||
|
6ce38cb986 | ||
|
e6af7b03d7 | ||
|
f8ea0667d4 | ||
|
2c6f26e36b | ||
|
e3783b58e4 | ||
|
a1146fbe53 | ||
|
6cfc4eeb51 | ||
|
b61ee3ff1a | ||
|
68f2802214 | ||
|
51b70e1e6e | ||
|
1a67ca0e7e | ||
|
8148a18b32 | ||
|
0dc1d6664a | ||
|
408bc713d7 | ||
|
6b6ccee575 | ||
|
199dd1afc7 | ||
|
d659a1f339 | ||
|
5cce01d346 | ||
|
b6545f7d5c | ||
|
d46889706b | ||
|
cccd5db05a | ||
|
b5bc3bca45 | ||
|
2acae2fd45 | ||
|
33b8608668 | ||
|
eb9786e08d | ||
|
9ad3e053e7 | ||
|
ed58392e04 | ||
|
55537ce5f8 | ||
|
d687bdb54f | ||
|
0c613cbcbe | ||
|
03c3c3d29a | ||
|
024392140e | ||
|
b53a9b6d67 | ||
|
5dfe460f9d | ||
|
ba897efada | ||
|
c2dd22ed40 | ||
|
6cd80cf047 | ||
|
859d1cbf7d | ||
|
3e0068b83c | ||
|
052759dce5 | ||
|
ae6fda4cc8 | ||
|
056213bc27 | ||
|
faf6374967 | ||
|
dce0615a28 | ||
|
27ea1ea793 | ||
|
6fd839c237 | ||
|
fba255cc13 | ||
|
64837d8a0c | ||
|
e0a635b310 | ||
|
3f0cb9baf6 | ||
|
11d4c38386 | ||
|
5f799ea5d5 | ||
|
3b87444cd9 | ||
|
7bb61f1a38 | ||
|
a7642d12d1 | ||
|
61d766be11 | ||
|
2603a7d28b | ||
|
6e46b03f86 | ||
|
269ffb3508 | ||
|
c9841985a1 | ||
|
63c64de455 | ||
|
3b40b9b4a9 | ||
|
f2989dd4d9 | ||
|
8f7a6de801 | ||
|
8abc08c5a9 | ||
|
8558cdfc8e | ||
|
1e0a00dbe2 | ||
|
0f6b903139 | ||
|
7e2266e001 | ||
|
df11500305 | ||
|
2f5e2b231a | ||
|
ccebc6b9f9 | ||
|
bb44c9a2e9 | ||
|
fda615f0ab | ||
|
da17f467cf | ||
|
cec2eb738f | ||
|
46bd366643 | ||
|
4aadb95f5d | ||
|
8a61e89d83 | ||
|
4a8710ce7f | ||
|
09882283d1 | ||
|
7b05ad29e6 | ||
|
b88be39f54 | ||
|
0383378385 | ||
|
3ab01c1b46 | ||
|
167d71539a | ||
|
df269ae7a6 | ||
|
7896d15536 | ||
|
4a1adbfb8a | ||
|
a82a8b2abe | ||
|
f1a0de0f53 | ||
|
8603667270 | ||
|
2c28325ae3 | ||
|
4f1579274e | ||
|
259e4f3da9 | ||
|
554cb5d7a1 | ||
|
9d9fae75b5 | ||
|
1fe28714cb | ||
|
a8f0053fc8 | ||
|
7b8136a36e | ||
|
c1d678e2b1 | ||
|
ee8d3e6a92 | ||
|
52752cd234 | ||
|
7bec03560a | ||
|
e56f2f7ee0 | ||
|
69b56e0836 | ||
|
8c48af423c | ||
|
3f2906d4d1 | ||
|
cd3eeb2951 | ||
|
75eb35397d | ||
|
8c6af48358 | ||
|
acd6e75a10 | ||
|
89ab3344d4 | ||
|
b1b9ee46db | ||
|
a53ef7370c | ||
|
bc6cd4008d | ||
|
1d5e199d89 | ||
|
2290da1648 | ||
|
3b885aa730 | ||
|
c15e4062b2 | ||
|
3b5ca53539 | ||
|
b2ebd1adcb | ||
|
e103a202eb | ||
|
63da02bc27 | ||
|
10858d0a6b | ||
|
69cec1b28e | ||
|
bae8de0ca5 | ||
|
867761f449 | ||
|
5e0748a1f9 | ||
|
7b89645718 | ||
|
d1c41f4ad0 | ||
|
8a3c962779 | ||
|
5d297808da | ||
|
9b89f36387 | ||
|
fe8149ee8a | ||
|
e1b0125a46 | ||
|
44bf61adc0 | ||
|
9849a8ee58 | ||
|
89cd75a2ed | ||
|
eef2c0a89a | ||
|
288f20a8f1 | ||
|
5ff36d670f | ||
|
264095d351 | ||
|
11d1fce78f | ||
|
45a65e219a | ||
|
10bb33590b | ||
|
285498d638 | ||
|
805a942cf6 | ||
|
7f2f7d642b | ||
|
6870cc6f88 | ||
|
9d5d6b7360 | ||
|
cf4ea429f6 | ||
|
e18594994c | ||
|
514841cf1c | ||
|
181bff132f | ||
|
f20b8db56a | ||
|
4189f370a6 | ||
|
b2becc6287 | ||
|
2f6b08948a | ||
|
7552ef4cce | ||
|
18bd293074 | ||
|
87dd871c6c | ||
|
4fad494630 | ||
|
848721902c | ||
|
7abd653b31 | ||
|
c41c7eaa94 | ||
|
96d89e230c | ||
|
6d79fc2ab8 | ||
|
bb57108182 | ||
|
5d890582c7 | ||
|
26733aa85f | ||
|
5b98bc9c75 | ||
|
c2363e0967 | ||
|
a1874a941d | ||
|
a512d85672 | ||
|
6c725e72e7 | ||
|
d4dff8809a | ||
|
c99df9257c | ||
|
9bea6b8709 | ||
|
e831ba9c46 | ||
|
ab5fe146d4 | ||
|
7b1a586a8b | ||
|
9c9dbb33c4 | ||
|
2656c4f3f3 | ||
|
e3aefb78f7 | ||
|
236fe91646 | ||
|
52dcf924a4 | ||
|
1a52b99d4f | ||
|
339e9a3869 | ||
|
9935aca127 | ||
|
0bb74d949f | ||
|
274d85216b | ||
|
d18439b4ae | ||
|
8401befe6b | ||
|
14d7b882fa | ||
|
a00c931192 | ||
|
bcd7d82654 | ||
|
833a9f59d3 | ||
|
3456f5d038 | ||
|
e72062b05c | ||
|
ecc8634209 | ||
|
8cf7f0bb2b | ||
|
f2503afd69 | ||
|
b3ebcb59c0 | ||
|
d0a8f2d1b9 | ||
|
82febe8da3 | ||
|
6a8edd688b | ||
|
fa4ef44e4a | ||
|
aeeaaadcd2 | ||
|
4acf96429e | ||
|
35a25c3971 | ||
|
f7d3c48b25 | ||
|
2bb175860b | ||
|
caaec5c1c8 | ||
|
745ccd34ff | ||
|
9c1f200905 | ||
|
13c22e0c72 | ||
|
9093068504 | ||
|
a1ef4c252c | ||
|
6c94e25286 | ||
|
5e731953a3 | ||
|
cc320a99f2 | ||
|
3b7a057dbb | ||
|
14ab48ae36 | ||
|
88ea5f7855 | ||
|
695feed2b6 | ||
|
eae9194aa8 | ||
|
a9a86f8043 | ||
|
d16c608610 | ||
|
4f261b1711 | ||
|
d77c9eb3eb | ||
|
6f9a79404d | ||
|
22bca7ed12 | ||
|
31f4c4f656 | ||
|
26729f6f87 | ||
|
36bbeb9d5a | ||
|
5a534954cc | ||
|
9218488409 | ||
|
c114657f81 | ||
|
60f8241305 | ||
|
4bc703b477 | ||
|
99d84c6489 | ||
|
37d1c88b42 | ||
|
bdd809cc30 | ||
|
2462c27f05 | ||
|
ee76eb3dee | ||
|
f520217f51 | ||
|
c02edee100 | ||
|
b908854d59 | ||
|
e9a1157e00 | ||
|
eecf2c38d2 | ||
|
320182427f | ||
|
973436a09b | ||
|
1abe69079f | ||
|
13945286ac | ||
|
53dd69e2f3 | ||
|
ce19d8c70b | ||
|
c9edf98dd2 | ||
|
7af7a8784f | ||
|
e0d6d5ef6b | ||
|
59ab945f0b | ||
|
224b46f5b0 | ||
|
69ed522954 | ||
|
e36ea3b263 | ||
|
658f919104 | ||
|
171f0e314b | ||
|
8d125f128c | ||
|
1272973b52 | ||
|
aadd7fea2b | ||
|
2389770d8a | ||
|
7dabdc0a68 | ||
|
f174afbd56 | ||
|
197dda1ff7 | ||
|
145d95166d | ||
|
5f473a0c5c | ||
|
f5aeeeb9c8 | ||
|
f89f119078 | ||
|
07660c3f81 | ||
|
530a420fb4 | ||
|
ff50bcb545 | ||
|
96e12a0f90 | ||
|
18a1ed4c7d | ||
|
0d85d15002 | ||
|
1b743b0e9d | ||
|
f1226cd7e4 | ||
|
acc4fa8c9a | ||
|
8ba433afa5 | ||
|
8c9d209940 | ||
|
077409ae7e | ||
|
14ee71e665 | ||
|
9443992ff9 | ||
|
25ef791afc | ||
|
1df157976a | ||
|
f57c0c5b74 | ||
|
e550ffe2b0 | ||
|
94a8aaced7 | ||
|
0fd008ba41 | ||
|
8c9deaf4ac | ||
|
6d48ffc298 | ||
|
447536958e | ||
|
43d2bb7716 | ||
|
06d79cd788 | ||
|
d481ffbd90 | ||
|
d8c3006cb4 | ||
|
872d8a3da5 | ||
|
2dc73d04af | ||
|
28e15122ea | ||
|
89c0e71874 | ||
|
338a39fe5b | ||
|
c001acffee | ||
|
a8ff291a37 | ||
|
8ba4cb66ea | ||
|
0401c4c88c | ||
|
ff0d4bcc26 | ||
|
a2082bbb44 | ||
|
722e1c3d57 | ||
|
fc5fa6d4ea | ||
|
2b3f850259 | ||
|
2fefdf8118 | ||
|
2425ec34e5 | ||
|
93a062c07f | ||
|
6fa0f8a140 | ||
|
f35821b3b5 | ||
|
95dd12aaea | ||
|
c1885fa6d9 | ||
|
72c6b009ff | ||
|
a3545712ca | ||
|
393d3370d3 | ||
|
707c2a93d0 | ||
|
4efafaede1 | ||
|
ba82de45b5 | ||
|
efc8616a17 | ||
|
eff7669dd2 | ||
|
ba7556b078 | ||
|
3928a2d084 | ||
|
8ca0cfa917 | ||
|
494df4e9a0 | ||
|
11e1a410e8 | ||
|
2aa71d130f | ||
|
43c1c498d6 | ||
|
137fce3445 | ||
|
5ee92afb36 | ||
|
1da5ea8ae7 | ||
|
83e073fc7c | ||
|
6695372639 | ||
|
0d63fb97f7 | ||
|
27e7186b98 | ||
|
218098e1ff | ||
|
0a7b6c9a22 | ||
|
d713dec19d | ||
|
3a47a5f9c8 | ||
|
4634f95b4c | ||
|
4a47f6dd22 | ||
|
161b860359 | ||
|
18183c512f | ||
|
1d1b3ff382 | ||
|
0abc1a4be9 | ||
|
d97b83557b | ||
|
59fb1fefa0 | ||
|
75991dca18 | ||
|
a61f602855 | ||
|
6d9b41dc02 | ||
|
35fd077d01 | ||
|
bdab8bc1c8 | ||
|
8c5fbcd7c7 | ||
|
e197231fe6 | ||
|
872ccc5305 | ||
|
175b413584 | ||
|
fad3c6d12a | ||
|
f5bdc3a30b | ||
|
faf8cf1539 | ||
|
690c80db60 | ||
|
062e7a5a3e | ||
|
65710f9d51 | ||
|
b62b9c3531 | ||
|
497c0f01c2 | ||
|
c3570e8e53 | ||
|
8841fa48bf | ||
|
f74e49b99b | ||
|
bb1800d27f | ||
|
c829752b7e | ||
|
7ab04deb12 | ||
|
d5d969e058 | ||
|
3467a9e47d | ||
|
77b4e62918 | ||
|
657b4b18f8 | ||
|
a42f19f07e | ||
|
7409f65874 | ||
|
644f6a714a | ||
|
0f6f58373e | ||
|
68bf96f924 | ||
|
d17783ef6e | ||
|
14f6647471 | ||
|
a62a9d50fe | ||
|
54612b3512 | ||
|
a2f8a2ae11 | ||
|
cd198db31d | ||
|
088ff60339 | ||
|
bf9052bb1b | ||
|
2a4f2d3802 | ||
|
98de149eec | ||
|
1c4fabed2b | ||
|
790120836d | ||
|
b14985bf81 | ||
|
fee2f3a01b | ||
|
6d057732b5 | ||
|
bc982f0ca5 | ||
|
811cd200d0 | ||
|
c6ba3bcc15 | ||
|
16736a2afd | ||
|
713b076929 | ||
|
172a4a8d77 | ||
|
2860bfc704 | ||
|
3e8d131c16 | ||
|
72528ab089 | ||
|
7bdc5ea4f2 | ||
|
7a8818ae94 | ||
|
ca3b01362c | ||
|
bff7f01e22 | ||
|
751f029564 | ||
|
623850a281 | ||
|
5c1763e847 | ||
|
602cf294d0 | ||
|
ac9064dcbc | ||
|
f9e7ddfb86 | ||
|
9be74e001c | ||
|
d655d66e96 | ||
|
2ac0be98d3 | ||
|
2820774220 | ||
|
62f041cc2a | ||
|
9fe91d6af1 | ||
|
2a5d061dee | ||
|
5f385753c3 | ||
|
c5138bfd76 | ||
|
a3cfdae7e8 | ||
|
7cebabf7f2 | ||
|
4082395d4b | ||
|
4113389cb5 | ||
|
96132ef9c6 | ||
|
1528095de2 | ||
|
7cf307080b | ||
|
e06f58eb29 | ||
|
22d65b7364 | ||
|
84c40dc590 | ||
|
fac2e2fc5b | ||
|
ab86a48ef7 | ||
|
3b04498661 | ||
|
c8afb7a7c6 | ||
|
0980044ef6 | ||
|
7cacc42737 | ||
|
9d26f342d3 | ||
|
bea23d7dbe | ||
|
684f33a99f | ||
|
be52d81248 | ||
|
e9aaf56b3d | ||
|
40051b82cb | ||
|
c258f1897f | ||
|
c9f287590c | ||
|
f3164635e0 | ||
|
04ce453687 | ||
|
f7a46de38e | ||
|
c2814bdabb | ||
|
b3f2478d6d | ||
|
49a4dddd88 | ||
|
9af174a198 | ||
|
13befb9d6f | ||
|
401d52d6f0 | ||
|
aee7dcd008 | ||
|
d2f876b6f3 | ||
|
70fa4b73d4 | ||
|
d8c5dcc6ba | ||
|
74af29054a | ||
|
4d281b645c | ||
|
5e0d8d2292 | ||
|
8830593f1d | ||
|
8d57ec3283 | ||
|
d67f4827a8 | ||
|
418f12743f | ||
|
b811b12e77 | ||
|
f24d11b41a | ||
|
c5f6c25e93 | ||
|
9d064f7689 | ||
|
33cae66d95 | ||
|
b2b7fc4a4e | ||
|
f75531da79 | ||
|
13920ce25d | ||
|
05ea3065f8 | ||
|
ae958cb124 | ||
|
23ef32ffee | ||
|
5e820ee0a8 | ||
|
ecd4aeb965 | ||
|
a55c1c0f08 | ||
|
9f7c6b2380 | ||
|
bd9a1aab8e | ||
|
d846c8a693 | ||
|
da82f398be | ||
|
cfa63049e2 | ||
|
f947005666 | ||
|
ac46b080fe | ||
|
3710d617a1 | ||
|
9bdeed232e | ||
|
075d5e74f8 | ||
|
3cac235232 | ||
|
873b8dab91 | ||
|
37b59126f6 | ||
|
098183ddca | ||
|
fb5d21e401 | ||
|
26036a2021 | ||
|
9521ed3fde | ||
|
da3bf8d43f | ||
|
1c55f56777 | ||
|
2af0d9a027 | ||
|
63843416cf | ||
|
81949ee0a0 | ||
|
3b5f48926c | ||
|
677944d403 | ||
|
9294b73c57 | ||
|
052093f1ea | ||
|
216e43a502 | ||
|
e571050758 | ||
|
d14e14d25a | ||
|
fde130ef9f | ||
|
305b69b229 | ||
|
ca41b8b7d3 | ||
|
ac26378914 | ||
|
1845bbbd65 | ||
|
0af1cc6e20 | ||
|
a150697f49 | ||
|
ca7db4ff99 | ||
|
c574dfeff3 | ||
|
4b059293d1 | ||
|
cbda055c89 | ||
|
c036c147a7 | ||
|
8abf255b27 | ||
|
b51e7390ba | ||
|
3225407118 | ||
|
606fb9cae5 | ||
|
41d0c9b153 | ||
|
b0a99ad1ad | ||
|
6b1aa6e9cd | ||
|
8aec11c0e9 | ||
|
1dd053dc0f | ||
|
608d0c30d0 | ||
|
ac06dbdbef | ||
|
c685ba7c03 | ||
|
e5b697801a | ||
|
56d93f1201 | ||
|
76f463b81a | ||
|
d09145b06f | ||
|
d7a925d110 | ||
|
91024493ee | ||
|
3159cfd840 | ||
|
0fb1511904 | ||
|
7af615dbf8 | ||
|
ab602b2072 | ||
|
bc0e3810d7 | ||
|
e2ab7d834b | ||
|
2673645907 | ||
|
3e1a5c15c5 | ||
|
5d0a54ce8b | ||
|
ff70417891 | ||
|
f160947ddc | ||
|
a3d11225a3 | ||
|
92ec403f7c | ||
|
af50be9ef8 | ||
|
a538553d17 | ||
|
982945107e | ||
|
b66e191078 | ||
|
e4bd229ef0 | ||
|
bb62fd6047 | ||
|
e91d9e55f6 | ||
|
b308212214 | ||
|
5766ea382b | ||
|
413bddaf7d | ||
|
2deb9bcdc1 | ||
|
5b2a5b76a4 | ||
|
2558202a52 | ||
|
ac8703c9e7 | ||
|
2ee66a3cda | ||
|
3f5d219549 | ||
|
b1904b877e | ||
|
7ffb3b2fef | ||
|
95dccb8cf9 | ||
|
530d9d7e5f | ||
|
d44028a2af | ||
|
5a1ee4ec3a | ||
|
47254de796 | ||
|
e426e26e8d | ||
|
1b748201bc | ||
|
45397e82a8 | ||
|
3f494ed5d3 | ||
|
a36ee207e9 | ||
|
70245e34ac | ||
|
965a9b6153 | ||
|
219d4e5f19 | ||
|
41074e15d1 | ||
|
b2e233b127 | ||
|
48b089c3c4 | ||
|
675841e9a7 | ||
|
e0693475d7 | ||
|
b7aef08b7c | ||
|
8f4b160ae9 | ||
|
6c856db4f8 | ||
|
a63a636750 | ||
|
01b6b6887c | ||
|
ad49a5d5af | ||
|
edb34eef59 | ||
|
717b04623f | ||
|
5a8b32691e | ||
|
92423fe925 | ||
|
cdb044b4e4 | ||
|
e26545b195 | ||
|
46fde05aa9 | ||
|
4fdd6ddc45 | ||
|
ebe8df4f91 | ||
|
5ed65cafce | ||
|
d3271cffde | ||
|
46f0ef9552 | ||
|
b052486e2e | ||
|
7326212671 | ||
|
57ab3f73db | ||
|
067138b9ac | ||
|
4507315f3b | ||
|
a36693bd4c | ||
|
a3bcf52529 | ||
|
e96b5cb080 | ||
|
b2c281ad37 | ||
|
337423c52f | ||
|
4b28c15850 | ||
|
77a901a71f | ||
|
b449651452 | ||
|
763ae73d01 | ||
|
ab3c4330df | ||
|
b7a43553fe | ||
|
13b74f1c21 | ||
|
80fe1f0777 | ||
|
2ef10fee39 | ||
|
73e824c859 | ||
|
93cc1fcca8 | ||
|
667a4e5a78 | ||
|
81b8a22d6a | ||
|
b6b3bf1a1c | ||
|
b17b5ed276 | ||
|
de89a0dd83 | ||
|
69f41c41e8 | ||
|
5f1564fd3d | ||
|
2e0d6b0874 | ||
|
5d977d1ca7 | ||
|
246d935c04 | ||
|
084186bdf6 | ||
|
ed4a631619 | ||
|
285b254f76 | ||
|
23757b2819 | ||
|
eb87952ce5 | ||
|
c9704cbe64 | ||
|
5c70221296 | ||
|
0564ac3565 | ||
|
64aea4541d | ||
|
eeba60dfec | ||
|
f874e6b4f0 | ||
|
f7f4cbb781 | ||
|
fdfda2e435 | ||
|
b972558171 | ||
|
3cb1778502 | ||
|
dbbf93bfcd | ||
|
ebd5a98d27 | ||
|
ae807bc7ce | ||
|
647f68bd22 | ||
|
4f947b893f | ||
|
8ce4b3587d | ||
|
2d356c5bae | ||
|
b76b96ef3e | ||
|
ee7986180f | ||
|
2d34a69e0c | ||
|
4c04feb529 | ||
|
fd7f1fe422 | ||
|
3e9e37fdc9 | ||
|
fe58726b69 | ||
|
bf3e2ccb01 | ||
|
33c9f59929 | ||
|
a699348766 | ||
|
45d06c9be5 | ||
|
cf4baf28c3 | ||
|
91205b8fd7 | ||
|
8d6d584bb4 | ||
|
9291ee80c9 | ||
|
4ec75ec49c | ||
|
b05f56491e | ||
|
9df8fc0182 | ||
|
65c8739da5 | ||
|
841b151acc | ||
|
b4dda21704 | ||
|
48ab96a1f6 | ||
|
183b0c8958 | ||
|
fb842a3580 | ||
|
e8247421ab | ||
|
32e1a16ead | ||
|
f9eab019a9 | ||
|
a8354ed1a9 | ||
|
1f0f4e21a8 | ||
|
8b17657da1 | ||
|
e52b9eb36b | ||
|
34656e6395 | ||
|
06338c73f1 | ||
|
ff431b1183 | ||
|
d6f017bc6a | ||
|
cd84015c8d | ||
|
d60b8bda3e | ||
|
95bb3629a1 | ||
|
8cce5dafcd | ||
|
69dbb8a882 | ||
|
6cfac1978e | ||
|
50fbe986d7 | ||
|
3e60adfe37 | ||
|
37f7521d5c | ||
|
42faa354ec | ||
|
f33d446f7f | ||
|
f7b9f8a3d7 | ||
|
380ff0d23d | ||
|
9c995270cf | ||
|
dcc61f56e3 | ||
|
5bb31a2e7c | ||
|
027c716fd7 | ||
|
d2c8196b07 | ||
|
dd4acb0cd2 | ||
|
8c4cfef5a1 | ||
|
eeaba8309d | ||
|
81575c68e8 | ||
|
bb5e5c33ca | ||
|
a071105a26 | ||
|
102ead74bd | ||
|
e72289c078 | ||
|
51e790de2f | ||
|
f64cce1567 | ||
|
755285920c | ||
|
ee8e25b8ce | ||
|
3e781a243e | ||
|
be76cc49d3 | ||
|
021cd54687 | ||
|
8aae86cf16 | ||
|
27eb1b51f1 | ||
|
485d076d73 | ||
|
1324b6fe64 | ||
|
d47adbea63 | ||
|
6034458769 | ||
|
6cc62d24d7 | ||
|
a9c049b0ee | ||
|
2a6766c6d2 | ||
|
393cefb88c | ||
|
4dc3014a37 | ||
|
8589977233 | ||
|
f8d363e3d0 | ||
|
a2c5a949b3 | ||
|
d05fd22999 | ||
|
69987877a1 | ||
|
92b5d3cb84 | ||
|
ff18013f88 | ||
|
3830d44a78 | ||
|
c89b43ac07 | ||
|
42a1119cba | ||
|
3cae004dd4 | ||
|
82b4fdafd3 | ||
|
641eff8472 | ||
|
b2f7c5f7c5 | ||
|
a631afa051 | ||
|
03fbcb8790 | ||
|
7ea8f8aa64 | ||
|
4ed1b4975f | ||
|
43a55d932e | ||
|
cbd25df44d | ||
|
789536c49f | ||
|
79c2c12631 | ||
|
22e05bd6ea | ||
|
7789c1ec2c | ||
|
a9b3ad786c | ||
|
61fb4744f3 | ||
|
906e1147e5 | ||
|
f40500452b | ||
|
2b139103d0 | ||
|
7b801270c2 | ||
|
e27976c8a1 | ||
|
b9e772f3e3 | ||
|
01f98ddc7f | ||
|
e95efe6f76 | ||
|
913663eef0 | ||
|
f59bbc111f | ||
|
fc9a36e28e | ||
|
7b89460aa1 | ||
|
07ba8d307c | ||
|
a453934d08 | ||
|
7adb3fc737 | ||
|
9326813f3f | ||
|
65bc08524e | ||
|
b75a575f51 | ||
|
3b332d6d12 | ||
|
b1210ea43f | ||
|
3a8eb34e35 | ||
|
697599db6c | ||
|
e74ec6ba79 | ||
|
838b802846 | ||
|
57e953409a | ||
|
5452c41760 | ||
|
414f553eb3 | ||
|
7698b2ec38 | ||
|
04358fbafe | ||
|
d30e5df23e | ||
|
455d7816e5 | ||
|
710780f3e9 | ||
|
07430668d2 | ||
|
66b282be6c | ||
|
b5626c0b61 | ||
|
029dd935c9 | ||
|
8392251280 | ||
|
4b3682c1c5 | ||
|
b1a5626e94 | ||
|
32022ce209 | ||
|
c7ecacda32 | ||
|
319a03b791 | ||
|
17bcaf7369 | ||
|
652dd24e7d | ||
|
c0e627b7c6 | ||
|
812bfd7ca5 | ||
|
56edc1ba0c | ||
|
82240ff6c1 | ||
|
7b901c18a9 | ||
|
4a510b436b | ||
|
0677db0419 | ||
|
ab641c88e0 | ||
|
91ebe57dd2 | ||
|
7763a94969 | ||
|
65b01ffbca | ||
|
1d5e124b46 | ||
|
8d6a4335b8 | ||
|
f5873c283a | ||
|
6d6ca1e94a | ||
|
b92f7f551e | ||
|
7fc03770d0 | ||
|
6352542793 | ||
|
dab5d51952 | ||
|
ef8306394f | ||
|
bb9906cd9a | ||
|
a191a7648b | ||
|
12d627f3a7 | ||
|
802fc1f39f | ||
|
4535295dd6 | ||
|
24f2b29806 | ||
|
696dca4af4 | ||
|
4c6f31e7c2 | ||
|
93ad670828 | ||
|
99e09b3b8d | ||
|
b0a1e5ffe1 | ||
|
269319c15d | ||
|
fbe918dd4e | ||
|
46bee7acd4 | ||
|
456d6f74bb | ||
|
261aa7b677 | ||
|
4fcfbf8e06 | ||
|
2a24b4d239 | ||
|
24ec94ed96 | ||
|
9c2e17a660 | ||
|
931cfd8eb2 | ||
|
c630baf774 | ||
|
987345dd58 | ||
|
78d7a376bc | ||
|
b52e0d8470 | ||
|
e3bdfda2ee | ||
|
0aea363abf | ||
|
11895fc198 | ||
|
a48fff23c2 | ||
|
e4d6b1785c | ||
|
9373b6b312 | ||
|
012bc8949e | ||
|
15595b741e | ||
|
f272c5e966 | ||
|
9419c77069 | ||
|
50ce4d3c55 | ||
|
fda71bb583 | ||
|
eb0ed267fa | ||
|
0b796a3085 | ||
|
1695b39abf | ||
|
c84cfc8bf0 | ||
|
53e97e75da | ||
|
ab84f6837a | ||
|
6557b3fb0f | ||
|
db07be002d | ||
|
6f266230f5 | ||
|
31c7c84b5c | ||
|
f7fcfcb452 | ||
|
ddd0af895f | ||
|
1360d28b25 | ||
|
0bc8316319 | ||
|
361fdbe31f | ||
|
134fa6dffd | ||
|
1a45a42a86 | ||
|
c7feb0f6f0 | ||
|
46cb1f01fb | ||
|
3ade68cf25 | ||
|
3cbb6c426b | ||
|
8942cbb9fa | ||
|
177e0a6a80 | ||
|
5a17ad2fd9 | ||
|
e1c7c9df05 | ||
|
3b4c3cd36c | ||
|
1b99cabef9 | ||
|
8bac05eb97 | ||
|
ae2b09ab4e | ||
|
fff849bb88 | ||
|
5feee4ba75 | ||
|
701ef5a69d | ||
|
794bcc6fb1 | ||
|
64ba0b5d7c | ||
|
255cef8092 | ||
|
a99b35e11b | ||
|
d61a99629f | ||
|
7ccccae722 | ||
|
4d02b9945d | ||
|
d2f6a65eb5 | ||
|
08a15f0acb | ||
|
d9f690d9d6 | ||
|
c4a9dd6b32 | ||
|
4ec0117c43 | ||
|
b7b5e60f98 | ||
|
8069baf911 | ||
|
df37fd42fd | ||
|
f72e123140 | ||
|
ba064206c4 | ||
|
a542797038 | ||
|
0cf9a26004 | ||
|
a6754e7467 | ||
|
6e51739ec9 | ||
|
c46c9bba8e | ||
|
613d40a605 | ||
|
4b6eadd956 | ||
|
c6beda5a7b | ||
|
67d943bce3 | ||
|
08fa4bacd1 | ||
|
bc443d25ac | ||
|
78be0b75fe | ||
|
7169c6d070 | ||
|
78a8c3cfc4 | ||
|
68d2cb38de | ||
|
332e9c0448 | ||
|
0eafeb995d | ||
|
2a44de8641 | ||
|
c1a7c63f03 | ||
|
6a24d8ebf5 | ||
|
add5bdf8de | ||
|
90d3661c52 | ||
|
6c4e6725b4 | ||
|
78192cc752 | ||
|
d93c45fd1e | ||
|
066a7a2660 | ||
|
548aa1a194 | ||
|
69d1450b5c | ||
|
066c387ae9 | ||
|
72df118216 | ||
|
556c0b0767 | ||
|
511d353cc6 | ||
|
ffe810349b | ||
|
f42aca9a02 | ||
|
64fbd23008 | ||
|
9db33b7fb6 | ||
|
75d1ab7bbe | ||
|
4871b6b76c | ||
|
28c76e73bd | ||
|
3ea581c4f8 | ||
|
7284a53d0f | ||
|
c5eb71d0de | ||
|
06fbb9e0dc | ||
|
e33923c63f | ||
|
2b09915a0d | ||
|
35c56395da | ||
|
619373c2e5 | ||
|
43806aec62 | ||
|
54aef2cd2e | ||
|
4b38bbff30 | ||
|
4eaff7a45f | ||
|
25fba84b32 | ||
|
042b27ea83 | ||
|
f51f5e4d59 | ||
|
4c5855c95d | ||
|
6a88aefadc | ||
|
feedb1450c | ||
|
bfdc7a3d67 | ||
|
80a1009aa2 | ||
|
bb0e24f074 | ||
|
b6cd43d25f | ||
|
b0e8fd33ce | ||
|
3cb079b014 | ||
|
651bde6b4a | ||
|
03c57d3a0f | ||
|
6ffaa1450e | ||
|
ca375bcc76 | ||
|
1dda0371b5 | ||
|
1b445934a8 | ||
|
3f39b0a95f | ||
|
8bb31492e4 | ||
|
41a3cea05e | ||
|
c6b5ea0380 | ||
|
712805f5b0 | ||
|
1a6f96caaf | ||
|
789a93dbe9 | ||
|
7914fc9551 | ||
|
8a85b8bbc6 | ||
|
a80929e52f | ||
|
ff3770a464 | ||
|
546abf4a6d | ||
|
cfcdbbb728 | ||
|
30791e9bdc | ||
|
4e01387eb9 | ||
|
09ee426710 | ||
|
de3b8c794b | ||
|
94d97a1029 | ||
|
af1a8ea8b4 | ||
|
d82df7f00d | ||
|
570171bddd | ||
|
67d1e6e97c | ||
|
dfa2a80d82 | ||
|
9d77f20710 | ||
|
6d003028c3 | ||
|
1f1f0d5bda | ||
|
662ee55514 | ||
|
d154c141fb | ||
|
e4b90e6305 | ||
|
fd81151996 | ||
|
6a6e2754c4 | ||
|
ebd59724a5 | ||
|
678ad2649f | ||
|
514d399f6b | ||
|
9d88f16aa4 | ||
|
2a6a4c0252 | ||
|
0c308b850d | ||
|
55d80eb547 | ||
|
110824bb06 | ||
|
3b21c91a97 | ||
|
58adc470ce | ||
|
2be9dfc45b | ||
|
1a7f2cc070 | ||
|
84773f7956 | ||
|
155cccb109 | ||
|
30e239c311 | ||
|
f1aa7b6d28 | ||
|
6c48be2563 | ||
|
caf77a0935 | ||
|
6af93841cb | ||
|
396f332d55 | ||
|
624e95a97b | ||
|
3b9fb2c7eb | ||
|
8ba61f5496 | ||
|
e147bf4861 | ||
|
5fc54a7e4c | ||
|
4ad1efbcf5 | ||
|
caf2d18708 | ||
|
80e433abe0 | ||
|
464a32f35d | ||
|
b136eedc8b | ||
|
97f2bb601f | ||
|
90e1af331b | ||
|
cef3e7fac7 | ||
|
22e53172eb | ||
|
ee4dcc3892 | ||
|
f1c33bd67c | ||
|
1161ab2095 | ||
|
c8743cd0e0 | ||
|
cc7ecc6795 | ||
|
e9db3ed319 | ||
|
a40813c3b8 | ||
|
6c45806fbe | ||
|
bfc99e1af9 | ||
|
1cd134d6b0 | ||
|
a80db298c0 | ||
|
a4c805b122 | ||
|
83a35fe3aa | ||
|
57e36d5d01 | ||
|
eeddd067ea | ||
|
3f65e2b73c | ||
|
266e7bed8b | ||
|
47b1990eeb | ||
|
b32f5c4904 | ||
|
bc76ce550c | ||
|
4960e68208 | ||
|
74ef12268e | ||
|
676bf7f6d7 | ||
|
42d488eaac | ||
|
059d0374c6 | ||
|
5d09ff81fb | ||
|
d43db27ce0 | ||
|
5dcf426cdf | ||
|
5b6c4560ae | ||
|
fec670f27c | ||
|
fb13ccd285 | ||
|
b3b70cea82 | ||
|
f84d08e011 | ||
|
7403713d98 | ||
|
e049dcd6af | ||
|
1af928790e | ||
|
48d66649b1 | ||
|
c054d07110 | ||
|
f0f9e6847b | ||
|
b9c61952a6 | ||
|
c3e3944421 | ||
|
eddaec701b | ||
|
87086e5278 | ||
|
9c5966000c | ||
|
b49d810f01 | ||
|
79bfdec895 | ||
|
d8be1fa224 | ||
|
948a438ff2 | ||
|
9f5215302c | ||
|
73d7ba03f5 | ||
|
d623bbefc2 | ||
|
907dad95e1 | ||
|
cdb70b05d2 | ||
|
565217a53a | ||
|
bee6485475 | ||
|
ace18dfa1f | ||
|
95f1162b6e | ||
|
e5bdd2242f | ||
|
deb0eb819c | ||
|
04864c7d79 | ||
|
0dc0067450 | ||
|
a4421df9e9 | ||
|
47774c3894 | ||
|
43c4daa4e3 | ||
|
fc95cee6ce | ||
|
f39e9621a0 | ||
|
704c736046 | ||
|
0d8a8038b7 | ||
|
38ea9653a0 | ||
|
eebf5dfe07 | ||
|
ba46795749 | ||
|
fff8fbfe80 | ||
|
00dade5460 | ||
|
301c1d21fe | ||
|
bac82c0abf | ||
|
8e0f44a374 | ||
|
5593c134cd | ||
|
f414e92b74 | ||
|
02ff39f595 | ||
|
eec8b76de0 | ||
|
68f03dbd13 | ||
|
c54ca78769 | ||
|
ff04ab3b92 | ||
|
cb484a2058 | ||
|
1bd7d37a0a | ||
|
f41872540d | ||
|
4dabbdf247 | ||
|
4392e34882 | ||
|
aec6b557a6 | ||
|
dddeb9e9a7 | ||
|
3c485949b6 | ||
|
27978e5cd3 | ||
|
fa49dde51a | ||
|
6d56d4350a | ||
|
a4ff57fafb | ||
|
8fa4252fd6 | ||
|
753e1b3c90 | ||
|
68d541d2e8 | ||
|
75e9deabc4 | ||
|
d6c7e7f57b | ||
|
e828dadec8 | ||
|
6e929986cb | ||
|
e1b086e3a4 | ||
|
27147a0140 | ||
|
b8d3b3bc5f | ||
|
b18f926fa5 | ||
|
bf0b104d27 | ||
|
c0ab42021e | ||
|
4d77074c78 | ||
|
8ffd79d764 | ||
|
6da14794df | ||
|
f2c3edb8fe | ||
|
e0f60931f7 | ||
|
5b1aa81d1d | ||
|
ac274a50d3 | ||
|
44a1adb922 | ||
|
93c68b4ce1 | ||
|
21eeab61d8 | ||
|
3aa7f5c9de | ||
|
1468d3c0dc | ||
|
6de0656794 | ||
|
0c4ac584e4 | ||
|
b2612f9189 | ||
|
b0486f44b3 | ||
|
819623300d | ||
|
a710782624 | ||
|
42b2779240 | ||
|
195953f4f8 | ||
|
ba82c142ef | ||
|
8d59a33502 | ||
|
2e3132732a | ||
|
a2bfd73d55 | ||
|
ebbedb2b99 | ||
|
57e55d0b88 | ||
|
15194438ee | ||
|
6d068e33ce | ||
|
48d2ac71fa | ||
|
afe6ed8463 | ||
|
6e34b3f620 | ||
|
6f0d29dde9 | ||
|
3e11945c02 | ||
|
bd098e3ff2 | ||
|
b70114a225 | ||
|
d5aed7b6df | ||
|
d86124203c | ||
|
29c49b12b7 | ||
|
d2b719b61c | ||
|
8495c6397a | ||
|
9b1a983cfd | ||
|
8b99d234e8 | ||
|
0e2da32f0c | ||
|
4d91fab887 | ||
|
967c767f0b | ||
|
28f62d850d | ||
|
4f84158bdc | ||
|
ce44b17544 | ||
|
c9a3b697ef | ||
|
ad82b81225 | ||
|
e3f5605c4e | ||
|
66836ae0bd | ||
|
6342e6a9f8 | ||
|
b34b3c7470 | ||
|
19d3cf5bae | ||
|
6408d93dc0 | ||
|
f65b9d7f6f | ||
|
232409b1c4 | ||
|
2efc4ee9d8 | ||
|
a27d918bea | ||
|
8503f5bbe3 | ||
|
b2779a9b6a | ||
|
51087b5e0a | ||
|
39bf8f9f6e | ||
|
496871af04 | ||
|
dab85e2008 | ||
|
042ccbe730 | ||
|
6c6411561b | ||
|
18e3669911 | ||
|
5a57e285ec | ||
|
c5732d0d62 | ||
|
2e6688f42b | ||
|
6409113c0e | ||
|
ccd3e19fac | ||
|
18c16959ed | ||
|
60d11db923 | ||
|
c88058358e | ||
|
c511841f57 | ||
|
240517b0cd | ||
|
fab36b2262 | ||
|
cb85c767de | ||
|
35706f16f7 | ||
|
538db98e2c | ||
|
5c0507323c | ||
|
57490a68f0 | ||
|
66e67fdd4e | ||
|
6dbcac58a4 | ||
|
1aeb5ed807 | ||
|
2d1a036b3d | ||
|
970b3e79a9 | ||
|
c6cd6821bf | ||
|
e1edd9c5ee | ||
|
ccee34eaa7 | ||
|
3f3c855a6d | ||
|
5848e7ba8c | ||
|
7ac68392a6 | ||
|
1ebeae274a | ||
|
2710bca395 | ||
|
dc28a7694b | ||
|
a30c4f9055 | ||
|
ab026b5e2f | ||
|
99aea14b62 | ||
|
cf5c368499 | ||
|
2a58d53145 | ||
|
9a19c9e81e | ||
|
448734190c | ||
|
afe2db8d51 | ||
|
f4603e0cad | ||
|
6cbc8a9539 | ||
|
f3324ce167 | ||
|
5f674dbc83 | ||
|
69cfe8bb2f | ||
|
528121d283 | ||
|
71833b817f | ||
|
df65d040e8 | ||
|
5641f2a07c | ||
|
a602cbe005 | ||
|
f9940ead9f | ||
|
0c7780e5e3 | ||
|
6b6d5f270f | ||
|
0067e376ae | ||
|
935b046acc | ||
|
dd74ce04e6 | ||
|
e3a43e8ca6 | ||
|
c401ea0d91 | ||
|
2d03b8aea0 | ||
|
178aed9174 | ||
|
6552deca61 | ||
|
89009c09be | ||
|
34672c7bed | ||
|
3caeb4642a | ||
|
80b0eacfed | ||
|
aa078e86e5 | ||
|
9daf0a6089 | ||
|
6dead5e7e1 | ||
|
335868ea95 | ||
|
fc45646205 | ||
|
dbd466d3ed | ||
|
292d8c9530 | ||
|
6b68598d1d | ||
|
0d9e248dac | ||
|
46a86fe6a5 | ||
|
a56ca4ddfc | ||
|
6483c55749 | ||
|
5a56a3e060 | ||
|
585f32c4d8 | ||
|
9ea311526c | ||
|
1342fdb9a7 | ||
|
2cc4fccd66 | ||
|
a2d0899285 | ||
|
06cc52744d | ||
|
2878552239 | ||
|
df758aa3f8 | ||
|
f79ed86b57 | ||
|
c9b0c92450 | ||
|
57d1c29d35 | ||
|
cdf7c11b29 | ||
|
be7b5babe9 | ||
|
f7f2c51d4e | ||
|
4889ed6a33 | ||
|
3557686681 | ||
|
58dfc54e00 | ||
|
bddbc7a194 | ||
|
33e0116e4b | ||
|
b07f498516 | ||
|
c77be81e5b | ||
|
11cf2c78d8 | ||
|
77bcc7c7aa | ||
|
934ee4a535 | ||
|
5b97802104 | ||
|
25ec5cb432 | ||
|
8b4b4a8f0c | ||
|
6448cebec6 | ||
|
191ee259d4 | ||
|
dc364726c0 | ||
|
6ac0f68224 | ||
|
3c3078f9f8 | ||
|
b994befc58 | ||
|
56cf0239da | ||
|
69d75362b3 | ||
|
e677656b74 | ||
|
8db9c79e57 | ||
|
e9ee617d94 | ||
|
c9c6534af5 | ||
|
1b9767995b | ||
|
1c561ba7a9 | ||
|
91e307b261 | ||
|
91546d0684 | ||
|
f4c92793e6 | ||
|
52baebc899 | ||
|
63c029554a | ||
|
3900dd27d2 | ||
|
e9fb17dadb | ||
|
56c2f86381 | ||
|
a8440c72e4 | ||
|
cbb5bac075 | ||
|
b7f1f56f77 | ||
|
9fe17cf6f5 | ||
|
d641f06e6d | ||
|
7668f04c0c | ||
|
a73d1cd342 | ||
|
35c4a29cbe | ||
|
f6e00fbb86 | ||
|
3f9503364c | ||
|
36b2a585f9 | ||
|
42220a8c95 | ||
|
540db2860e | ||
|
1ac4efa88a | ||
|
b2247febc1 | ||
|
ea47a5556d | ||
|
b51480f122 | ||
|
55d7fe9e53 | ||
|
e6efa8dac3 | ||
|
ac42abda7f | ||
|
6a6f5dba7a | ||
|
d0b6d09255 | ||
|
cfe42d10ea | ||
|
6ad9e820e3 | ||
|
47a403a9c8 | ||
|
b2fc0935a4 | ||
|
a04d384ac4 | ||
|
325bb0bf8f | ||
|
c2a79d4cbf | ||
|
b17b8356ad | ||
|
a41b174851 | ||
|
458d32ed7c | ||
|
a0383b6664 | ||
|
9b1fc4cd24 | ||
|
2a27ef88f6 | ||
|
d1ecf6d748 | ||
|
396b5cd6e0 | ||
|
55e7d6383b | ||
|
dbcbffb6c4 | ||
|
6b51872c3e | ||
|
79d8b081d7 | ||
|
165276912f | ||
|
413052bf8e | ||
|
b8ccf5a2e9 | ||
|
27cde20dbf | ||
|
01fbbb6683 | ||
|
61b55ab156 | ||
|
502db67510 | ||
|
47e8f4ffc6 | ||
|
46fd72920c | ||
|
399b835436 | ||
|
3e81405086 | ||
|
443c554b36 | ||
|
9f76cdf486 | ||
|
881bf5dd9d | ||
|
8bb9661960 | ||
|
a1c69b0b43 | ||
|
8cdce8e1ca | ||
|
e3f4fdfdd8 | ||
|
0b452cc415 | ||
|
e6f4674064 | ||
|
06be1868ea | ||
|
2412266a34 | ||
|
6638d74687 | ||
|
dc41b29ab7 | ||
|
638718a48c | ||
|
9adc4be099 | ||
|
75ea38010f | ||
|
5083849514 | ||
|
8d75ba4d64 | ||
|
0c231d5532 | ||
|
7e9fa7c2a7 | ||
|
3687ebdc6b | ||
|
8ceb537860 | ||
|
64043e059f | ||
|
011483ec54 | ||
|
b6ce8d282c | ||
|
b54b7f6455 | ||
|
d0a6d8a0a2 | ||
|
a02a9a4fd9 | ||
|
e2749a7676 | ||
|
0a3dc28bdf | ||
|
79fd0278ce | ||
|
488eb387cb | ||
|
99143f6148 | ||
|
82c77e64c6 | ||
|
751af7862c | ||
|
0425bfebac | ||
|
40041f5c1e | ||
|
1d4320afea | ||
|
132460b797 | ||
|
369c8ecd98 | ||
|
478ff17e67 | ||
|
41b146f38a | ||
|
eea70f104f | ||
|
7bae6c6b8a | ||
|
9ab47d769b | ||
|
23d14bd476 | ||
|
d9c3162146 | ||
|
4a1b021753 | ||
|
3418d5295b | ||
|
bf30dc37a2 | ||
|
ecccf87992 | ||
|
0dd4823a23 | ||
|
001b9d0627 | ||
|
6ed4902e00 | ||
|
0cfe2d2357 | ||
|
e3f6e61900 | ||
|
8f1fa9b728 | ||
|
34dbc50b3a | ||
|
c9b1daeba7 | ||
|
52531e9125 | ||
|
72b6252ab5 | ||
|
95f3ead710 | ||
|
07a9486e4d | ||
|
daa6b7b841 | ||
|
21cfb96b1e | ||
|
96eb48090c | ||
|
f17bba773d | ||
|
7efceebb1c | ||
|
8eba4c171f | ||
|
f2b1cc6ae3 | ||
|
e8eb7300fc | ||
|
9607d6be00 | ||
|
ddb4bd4563 | ||
|
e5414c8ff6 | ||
|
7e13f1ae62 | ||
|
b78a348712 | ||
|
4e450b36ee | ||
|
b300279e30 | ||
|
e319aa248c | ||
|
39c7af6262 | ||
|
4334840dad | ||
|
47529ee4d8 | ||
|
6fdc49b6e5 | ||
|
22def2c617 | ||
|
78ad724bac | ||
|
fad6768955 | ||
|
03384c4e19 | ||
|
63e59e7e27 | ||
|
b768e84afe | ||
|
8fdddb501f | ||
|
f6d00be6c1 | ||
|
783893f750 | ||
|
ff9074421a | ||
|
5a719f39bd | ||
|
39a40ce372 | ||
|
fdb13a1f78 | ||
|
9f99108701 | ||
|
1e022bf627 | ||
|
354dad71d9 | ||
|
ea7dc6e057 | ||
|
c9ceb5f813 | ||
|
cf9389a0de | ||
|
576c66133e | ||
|
0c704d2928 | ||
|
d611bad383 | ||
|
3c2139ebeb | ||
|
081102fee4 | ||
|
c68772c9b5 | ||
|
68c421e00e | ||
|
93722665af | ||
|
b8a38f7eda | ||
|
06374586e0 | ||
|
a7fd04e1f3 | ||
|
9661a38c10 | ||
|
47e9f27199 | ||
|
4e59f1dc12 | ||
|
68b146e560 | ||
|
b06d50be98 | ||
|
cc6a7fd5c5 | ||
|
0488aa10f8 | ||
|
7dcd6e8edc | ||
|
11c6d4cdca | ||
|
60b746c430 | ||
|
1f2cc33364 | ||
|
5d215b1326 | ||
|
46723bf9d3 | ||
|
36789637a2 | ||
|
6e669fe530 | ||
|
90c1a4ec51 | ||
|
3e7b2b72cf | ||
|
de5df30941 | ||
|
f5764906d6 | ||
|
f6dce6181e | ||
|
ba74c22663 | ||
|
14fd0424a1 | ||
|
4d7945291e | ||
|
2eabaa0195 | ||
|
7ffe53b745 | ||
|
ff9a033e1e | ||
|
ef41c80eb1 | ||
|
25a67447d3 | ||
|
9242a7c942 | ||
|
7cd51a6108 | ||
|
82a2ff900b | ||
|
d6a533527e | ||
|
758d65e018 | ||
|
601bc7729a | ||
|
0aa61b9fa8 | ||
|
8483e38f58 | ||
|
a78ef004f0 | ||
|
811b6842c5 | ||
|
1ccc368195 | ||
|
7abc185586 | ||
|
4bf4cdda7b | ||
|
5fcb7e637a | ||
|
ad9cf93f28 | ||
|
c0c43441c1 | ||
|
dc79dfe403 | ||
|
ef5af2c7d8 | ||
|
d4e82d8c94 | ||
|
4f3ae14dbf | ||
|
3655a2b537 | ||
|
014c6e7344 | ||
|
bea98a5e30 | ||
|
aff87e936a | ||
|
5f0200b151 | ||
|
d8a8575b55 | ||
|
801d7e5d89 | ||
|
f1fb4a2ed8 | ||
|
20d1c2a5cc | ||
|
9c8a9e0c52 | ||
|
b72863a1ff | ||
|
2c3bf472bc | ||
|
05c0f3e2d3 | ||
|
8abf965447 | ||
|
0460f6f776 | ||
|
2ea2b57d92 | ||
|
9fe40f0682 | ||
|
f81db381be | ||
|
9320d2f9c2 | ||
|
1639d617f7 | ||
|
4341256594 | ||
|
584c4446b5 | ||
|
424ac7a1d5 | ||
|
9bc38282e9 | ||
|
9011e4977e | ||
|
4c2c4b7c6d | ||
|
a6a362944a | ||
|
a059cc2e18 | ||
|
9a13d475a6 | ||
|
1a240911f5 | ||
|
a4f65cbcc2 | ||
|
073cbbaad5 | ||
|
4c8fa37d0e | ||
|
038daffab7 | ||
|
bd893995c3 | ||
|
9634d3230f | ||
|
01d6a22f92 | ||
|
b3c144b4bf | ||
|
3875f0b693 | ||
|
aaf147a39a | ||
|
cf4d0fe465 | ||
|
06ac5cffb6 | ||
|
3987ce7690 | ||
|
c4c74d84dc | ||
|
79c283b181 | ||
|
2e25337cc1 | ||
|
2d66daec41 | ||
|
e989bc1652 | ||
|
a8810e90c1 | ||
|
daca5fa107 | ||
|
d3fbbf778a | ||
|
44cbcd434e | ||
|
9e80ef8aca | ||
|
f74165424f | ||
|
52cb7cebd9 | ||
|
2e45bf5e26 | ||
|
7783f48bae | ||
|
3607d364e7 | ||
|
aefec1eaac | ||
|
54c203982f | ||
|
c3e8420b57 | ||
|
d59ffc55b1 | ||
|
f32de6bece | ||
|
4f4406ffb1 | ||
|
6064b2029e | ||
|
31fb398b37 | ||
|
00adb66cf0 | ||
|
b6911525a4 | ||
|
3b8deef8c5 | ||
|
075a5a0f14 | ||
|
2a96048b7c | ||
|
ce13d7fed5 | ||
|
8ffbebb2b6 | ||
|
ce60d46fa6 | ||
|
93a31146b1 | ||
|
d22bccd9fb | ||
|
3430535774 | ||
|
3c3c1414fe | ||
|
64d220d9c5 | ||
|
41e908bb34 | ||
|
94b7ff59d5 | ||
|
0ea928ade7 | ||
|
d1db5441df | ||
|
45f7cd2938 | ||
|
41b3ebf4e4 | ||
|
330efc5833 | ||
|
6f4a26220d | ||
|
919644d07a | ||
|
30cabb304c | ||
|
b80230c962 | ||
|
e8563b119b | ||
|
83051cd554 | ||
|
cfce10fbec | ||
|
09087e2a8e | ||
|
3520a7d0d8 | ||
|
7b4d08a7f5 | ||
|
7e6b543a70 | ||
|
41c79b931f | ||
|
477202aa47 | ||
|
ff0d9a9837 | ||
|
2c83807efc | ||
|
3517726d92 | ||
|
a00ea52b0b | ||
|
e4b11807f2 | ||
|
7b521b0690 | ||
|
8f14777831 | ||
|
ef3246db9c | ||
|
7726302103 | ||
|
2b85536625 | ||
|
2bfa77c1ff | ||
|
9d4974b174 | ||
|
eaf9d806d1 | ||
|
152b07d816 | ||
|
441fa10add | ||
|
261149287c | ||
|
80320fcf4e | ||
|
de6c80f04d | ||
|
a4891bc64d | ||
|
13ecdb04ee | ||
|
633dddf281 | ||
|
8941036105 | ||
|
f46d0803be | ||
|
eec1e56dda | ||
|
324f8a9515 | ||
|
793babcd12 | ||
|
8fb15633d3 | ||
|
4b77b9525f | ||
|
eff08a7cbd | ||
|
6c8550bf64 | ||
|
29239e08d3 | ||
|
34677a9c85 | ||
|
66914824af | ||
|
08f6970303 | ||
|
4878784ebe | ||
|
7984d38628 | ||
|
b5ab183504 | ||
|
91f8ab27ee | ||
|
328d055ee1 | ||
|
7c9fc46caa | ||
|
48d07a679b | ||
|
f4d1bc8dfb | ||
|
5c380b0b8c | ||
|
9787e3bc08 | ||
|
5e15808508 | ||
|
9a4d4cc409 | ||
|
fd936617d7 | ||
|
ef02bd8fae | ||
|
ffe30498cb | ||
|
2585467f0a | ||
|
68cf583e4b | ||
|
e2336b595d | ||
|
5911b51d05 | ||
|
9e23315972 | ||
|
e536157a4f | ||
|
c850fa3520 | ||
|
a8b655fef8 | ||
|
3ed443456a | ||
|
0a46febf36 | ||
|
956243e570 | ||
|
b86c0f5c5e | ||
|
7b96505d27 | ||
|
ba80899ee5 | ||
|
f9b18a9c26 | ||
|
ed306b00f0 | ||
|
f38f6b2eed | ||
|
5929adfa57 | ||
|
758bb74603 | ||
|
7d33ca1dec | ||
|
953a9d2f71 | ||
|
c90f0efad2 | ||
|
e4ad727a6f | ||
|
97e69f9dcc | ||
|
e5086f5b49 | ||
|
c5236b897e | ||
|
383ae37ce5 | ||
|
cd753265a1 | ||
|
9a0b3409d9 | ||
|
8d620363b7 | ||
|
1db24d9c01 | ||
|
ccd485290e | ||
|
9f0b412626 | ||
|
31945b9017 | ||
|
11a6f419aa | ||
|
5f8b56ff85 | ||
|
fc5bf30a79 | ||
|
8cff1f7b76 | ||
|
86860b6da3 | ||
|
1d3d7738ae | ||
|
f3f1c2d814 | ||
|
e63eef8faf | ||
|
cb3a4cf66b | ||
|
cf771ae94b | ||
|
1b09361c51 | ||
|
6172ef3df4 | ||
|
a0cda5cce6 | ||
|
445d6ca84c | ||
|
2be3ebd90b | ||
|
8a9c8278e2 | ||
|
7c66269ac1 | ||
|
30dcf3cebb | ||
|
f5d2251312 | ||
|
004ea967ad | ||
|
55ab72ee76 | ||
|
54b8def06a | ||
|
778f352c0f | ||
|
34fab0f210 | ||
|
ddfe32eec3 | ||
|
cf678ce89f | ||
|
4cbcbd2cda | ||
|
8cba2c4727 | ||
|
24d524f558 | ||
|
f060b6fd6b | ||
|
2a98857af1 | ||
|
147364de84 | ||
|
9b895034df | ||
|
ef575c4d6d | ||
|
31a67ecd42 | ||
|
5bc0a496ed | ||
|
38a7051bba | ||
|
b5167db7a3 | ||
|
b62dd8e96a | ||
|
f023bb2bc7 | ||
|
8a4e75e8fb | ||
|
7197040026 | ||
|
c9bf8eb349 | ||
|
0fba1504f0 | ||
|
1347736ead | ||
|
360748dd0b | ||
|
18a3f15101 | ||
|
eba1505e1d | ||
|
0f21cde318 | ||
|
1c1b6ea940 | ||
|
4f55c6aa9a | ||
|
83d48c99aa | ||
|
40248965be | ||
|
584fc8a1b6 | ||
|
3d0421b0a6 | ||
|
633ade23fc | ||
|
f6d377275b | ||
|
5053c3cc7a | ||
|
eb03e2c912 | ||
|
699a6583b2 | ||
|
a760577924 | ||
|
5e40409ed9 | ||
|
7eb361f514 | ||
|
3a500a6303 | ||
|
de48898d34 | ||
|
6b23a58678 | ||
|
d650ea45b5 | ||
|
3f139addc3 | ||
|
8488eac070 | ||
|
1a338aa602 | ||
|
118b074aa3 | ||
|
4f46ba3e61 | ||
|
2bba9ba000 | ||
|
4c2bb1dd28 | ||
|
8849577f82 | ||
|
cef3f3ef0d | ||
|
0dda262c18 | ||
|
eb7845092a | ||
|
24bf86fc37 | ||
|
ea7e641bdd | ||
|
0f3ba435d9 | ||
|
d199fe5ff0 | ||
|
c63e56712e | ||
|
a14b3cf49a | ||
|
14f75a0f8c | ||
|
52df44c40c | ||
|
0fb232216c | ||
|
0449557ab2 | ||
|
00e4faa690 | ||
|
9e354b4392 | ||
|
743bffc9a6 | ||
|
23d30e6197 | ||
|
302bdd4c6d | ||
|
3a53f96119 | ||
|
42f5ef4bc9 | ||
|
e7df308d2a | ||
|
c533778f3b | ||
|
8defaa6be5 | ||
|
fe97fbe977 | ||
|
cef9c620dc | ||
|
96d8d8b2b2 | ||
|
115c618fc2 | ||
|
46793bbf99 | ||
|
ed11593b16 | ||
|
7cc4632761 | ||
|
eedf940e5f | ||
|
e3785e50f2 | ||
|
362f8fc622 | ||
|
708668ea0a | ||
|
80e1946fa4 | ||
|
85d70f3408 | ||
|
b9537802e3 | ||
|
0c0a2ea55c | ||
|
ca14fbf0aa | ||
|
9f1ec0ce93 | ||
|
9a3cc63700 | ||
|
9aaadad95b | ||
|
3bf6682fce | ||
|
9f009f5979 | ||
|
cb072fcf2c | ||
|
5a94949b94 | ||
|
589202bde7 | ||
|
6dd12f1940 | ||
|
c5a50849ec | ||
|
6a68a1aa1d | ||
|
aaa2417e74 | ||
|
add5308bc3 | ||
|
b431c34d5f | ||
|
4ba59c07f9 | ||
|
681521e5a5 | ||
|
8731665257 | ||
|
e406fb90a9 | ||
|
5dabdd73a1 | ||
|
179d84c39b | ||
|
e5636a446e | ||
|
27c7b3fc17 | ||
|
7e35961874 | ||
|
c0688dfc1f | ||
|
f6078403e0 | ||
|
aae400bea9 | ||
|
01aa3ee9a5 | ||
|
0569ee0f1a | ||
|
ccb6d82e88 | ||
|
7badddb99c | ||
|
d0e0d53ee7 | ||
|
6e176c77a6 | ||
|
ba8cfc3e91 | ||
|
2f97ff63f3 | ||
|
641759c362 | ||
|
ae938cf04c | ||
|
8f13fcdda6 | ||
|
29bca56e56 | ||
|
297b230669 | ||
|
1c6c52056f | ||
|
25bb7bd547 | ||
|
8c175b88c5 | ||
|
85c7cb4186 | ||
|
09a7d790ad | ||
|
d49a43709d | ||
|
96fe10cc9f | ||
|
8626678d23 | ||
|
2a27cbde0d | ||
|
1f10444d5c | ||
|
1bb8ff97d4 | ||
|
518546b525 | ||
|
17e1003714 | ||
|
011ece182f | ||
|
8e742a06d9 | ||
|
3c024ab7ac | ||
|
f216a0fe82 | ||
|
f9b5bda925 | ||
|
bfcf4d3bdb | ||
|
eaab5df5be | ||
|
ccde46447e | ||
|
8b862774c9 | ||
|
d50e41f4d2 | ||
|
1736f4caaa | ||
|
9db0b5ed40 | ||
|
13cfda6e1e | ||
|
8e2721236f | ||
|
c906bd4e8f | ||
|
988554934b | ||
|
709a25ce97 | ||
|
fb6d9967dc | ||
|
8f24acd008 | ||
|
f548d36586 | ||
|
c3064d8249 | ||
|
60aec5ac0f | ||
|
abd7edab36 | ||
|
88350b6a6c | ||
|
c7f6144bfe |
3
.gitmodules
vendored
@@ -1,3 +0,0 @@
|
||||
[submodule "thirdparty/jreen"]
|
||||
path = thirdparty/jreen
|
||||
url = git://github.com/euroelessar/jreen.git
|
9
.tx/config
Normal file
@@ -0,0 +1,9 @@
|
||||
[main]
|
||||
host = https://www.transifex.net
|
||||
|
||||
[tomahawk.tomahawk-master]
|
||||
file_filter = lang/tomahawk_<lang>.ts
|
||||
source_file = lang/tomahawk_en.ts
|
||||
source_lang = en
|
||||
type = QT
|
||||
|
108
CMakeLists.txt
@@ -1,10 +1,7 @@
|
||||
PROJECT( tomahawk )
|
||||
CMAKE_MINIMUM_REQUIRED( VERSION 2.8 )
|
||||
CMAKE_MINIMUM_REQUIRED( VERSION 2.8.6 )
|
||||
SET( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules" )
|
||||
|
||||
IF( ${CMAKE_VERSION} VERSION_GREATER 2.8.3 )
|
||||
CMAKE_POLICY(SET CMP0017 NEW)
|
||||
ENDIF( ${CMAKE_VERSION} VERSION_GREATER 2.8.3 )
|
||||
CMAKE_POLICY(SET CMP0017 NEW)
|
||||
|
||||
###
|
||||
### Tomahawk application info
|
||||
@@ -15,15 +12,32 @@ SET( TOMAHAWK_APPLICATION_NAME "Tomahawk" )
|
||||
SET( TOMAHAWK_DESCRIPTION_SUMMARY "The social media player" )
|
||||
|
||||
SET( TOMAHAWK_VERSION_MAJOR 0 )
|
||||
SET( TOMAHAWK_VERSION_MINOR 3 )
|
||||
SET( TOMAHAWK_VERSION_PATCH 2 )
|
||||
SET( TOMAHAWK_VERSION_MINOR 5 )
|
||||
SET( TOMAHAWK_VERSION_PATCH 0 )
|
||||
|
||||
#SET( TOMAHAWK_VERSION_RC 0 )
|
||||
|
||||
# enforce proper symbol exporting on all platforms
|
||||
add_definitions( "-fvisibility=hidden" )
|
||||
|
||||
# build options
|
||||
option(BUILD_GUI "Build Tomahawk with GUI" ON)
|
||||
option(BUILD_RELEASE "Generate TOMAHAWK_VERSION without GIT info" OFF)
|
||||
option(WITH_BREAKPAD "Build with breakpad integration" ON)
|
||||
option(WITH_CRASHREPORTER "Build with CrashReporter" ON)
|
||||
option(WITH_BINARY_ATTICA "Enable support for downloading binary resolvers automatically" ON)
|
||||
option(LEGACY_KDE_INTEGRATION "Install tomahawk.protocol file, deprecated since 4.6.0" OFF)
|
||||
|
||||
IF( CMAKE_SYSTEM_PROCESSOR MATCHES "arm" )
|
||||
message(STATUS "Build of breakpad library disabled on this platform.")
|
||||
SET(WITH_BREAKPAD OFF)
|
||||
SET(WITH_CRASHREPORTER OFF)
|
||||
ENDIF()
|
||||
|
||||
# add definitions based on build options
|
||||
IF(WITH_BREAKPAD)
|
||||
message(STATUS "Build with support for breakpad.")
|
||||
ENDIF()
|
||||
|
||||
# generate version string
|
||||
|
||||
@@ -37,7 +51,7 @@ ENDIF()
|
||||
IF( NOT BUILD_RELEASE )
|
||||
INCLUDE( CMakeDateStamp )
|
||||
SET( TOMAHAWK_VERSION_DATE "${CMAKE_DATESTAMP_YEAR}${CMAKE_DATESTAMP_MONTH}${CMAKE_DATESTAMP_DAY}" )
|
||||
IF( ${TOMAHAWK_VERSION_DATE} GREATER 0)
|
||||
IF( TOMAHAWK_VERSION_DATE GREATER 0)
|
||||
SET( TOMAHAWK_VERSION ${TOMAHAWK_VERSION}.${TOMAHAWK_VERSION_DATE} )
|
||||
ENDIF()
|
||||
|
||||
@@ -54,6 +68,9 @@ SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
|
||||
SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
|
||||
SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}" )
|
||||
|
||||
# make predefined install dirs available everywhere
|
||||
INCLUDE( GNUInstallDirs )
|
||||
|
||||
# installer creation
|
||||
INCLUDE( TomahawkCPack.cmake )
|
||||
|
||||
@@ -68,7 +85,7 @@ IF( NOT BUILD_GUI )
|
||||
MESSAGE( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} in HEADLESS mode ***" )
|
||||
ELSE()
|
||||
MESSAGE( STATUS "Building Tomahawk ${TOMAHAWK_VERSION} full GUI version ***" )
|
||||
LIST(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" )
|
||||
LIST(APPEND NEEDED_QT4_COMPONENTS "QtGui" "QtWebkit" "QtUiTools" )
|
||||
ENDIF()
|
||||
|
||||
IF( BUILD_GUI AND UNIX AND NOT APPLE )
|
||||
@@ -76,7 +93,7 @@ IF( BUILD_GUI AND UNIX AND NOT APPLE )
|
||||
ENDIF()
|
||||
|
||||
macro_optional_find_package(Qt4 4.7.0 COMPONENTS ${NEEDED_QT4_COMPONENTS} )
|
||||
macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether \n the qtwebkit-devel package is installed as well")
|
||||
macro_log_feature(QT4_FOUND "Qt" "A cross-platform application and UI framework" "http://qt.nokia.com" TRUE "" "If you see this, although libqt4-devel is installed, check whether the \n qtwebkit-devel package and whatever contains QtUiTools is installed too")
|
||||
|
||||
macro_optional_find_package(Phonon 4.5.0)
|
||||
macro_log_feature(PHONON_FOUND "Phonon" "The Phonon multimedia library" "http://phonon.kde.org" TRUE "" "")
|
||||
@@ -84,8 +101,8 @@ if(PHONON_FOUND)
|
||||
message(STATUS "Phonon found; ensure that phonon-vlc is at least 0.4")
|
||||
endif()
|
||||
|
||||
macro_optional_find_package(LibEchonest 1.1.10)
|
||||
macro_log_feature(LIBECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 1.1.10 is needed for dynamic playlists and the infosystem")
|
||||
macro_optional_find_package(LibEchonest 1.2.1)
|
||||
macro_log_feature(LIBECHONEST_FOUND "Echonest" "Qt library for communicating with The Echo Nest" "http://projects.kde.org/libechonest" TRUE "" "libechonest 1.2.1 is needed for dynamic playlists and the infosystem")
|
||||
|
||||
macro_optional_find_package(CLucene 0.9.23)
|
||||
macro_log_feature(CLucene_FOUND "CLucene" "The open-source, C++ search engine" "http://clucene.sf.net" TRUE "" "CLucene is used for indexing the collection")
|
||||
@@ -104,54 +121,33 @@ macro_log_feature(Boost_FOUND "Boost" "Provides free peer-reviewed portable C++
|
||||
macro_optional_find_package(QCA2)
|
||||
macro_log_feature(QCA2_FOUND "QCA2" "Provides encryption and signing functions required for Grooveshark resolver" "http://delta.affinix.com/qca/" FALSE "" "")
|
||||
|
||||
macro_optional_find_package(LibAttica)
|
||||
macro_log_feature(LIBATTICA_FOUND "libattica" "Provides support for automatic fetching and managing of resolvers from the tomahawk website" "https://projects.kde.org/projects/kdesupport/attica" FALSE "" "")
|
||||
macro_optional_find_package(LibAttica 0.4.0)
|
||||
macro_log_feature(LIBATTICA_FOUND "libattica" "Provides support for automatic fetching and managing of resolvers from the tomahawk website" "https://projects.kde.org/projects/kdesupport/attica" TRUE "" "")
|
||||
|
||||
macro_optional_find_package(QuaZip)
|
||||
macro_log_feature(QuaZip_FOUND "QuaZip" "Provides support for extracting downloaded resolvers automatically." "http://quazip.sourceforge.net/" FALSE "" "")
|
||||
macro_log_feature(QuaZip_FOUND "QuaZip" "Provides support for extracting downloaded resolvers automatically." "http://quazip.sourceforge.net/" TRUE "" "")
|
||||
|
||||
IF( NOT QuaZip_FOUND )
|
||||
add_subdirectory( ${CMAKE_SOURCE_DIR}/src/libtomahawk/thirdparty/quazip )
|
||||
SET( QuaZip_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/libtomahawk/thirdparty/quazip )
|
||||
SET( QuaZip_LIBRARY quazip )
|
||||
SET( QuaZip_LIBRARIES ${QuaZip_LIBRARY} )
|
||||
SET( QuaZip_FOUND true )
|
||||
macro_log_feature(QuaZip_FOUND "QuaZip" "Provides support for extracting downloaded resolvers automatically. Building internal copy" "http://quazip.sourceforge.net/" FALSE "" "")
|
||||
|
||||
# copy headers to build/quazip so we can use proper includes inside the code
|
||||
FILE( COPY ${CMAKE_SOURCE_DIR}/src/libtomahawk/thirdparty/quazip/quazip/ DESTINATION ${CMAKE_BINARY_DIR}/libtomahawk/thirdparty/quazip )
|
||||
ENDIF()
|
||||
|
||||
# required
|
||||
#While we distribute our own liblastfm2, don't need to look for it
|
||||
#macro_optional_find_package(LibLastFm 0.3.3)
|
||||
#macro_log_feature(LIBLASTFM_FOUND "LastFm" "Qt library for the Last.fm webservices" "https://github.com/mxcl/liblastfm" FALSE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
|
||||
set(LIBLASTFM_FOUND true)
|
||||
|
||||
#### submodules start
|
||||
|
||||
# this installs headers and such and should really be handled in a separate package by packagers
|
||||
IF( INTERNAL_JREEN )
|
||||
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.gitmodules)
|
||||
EXECUTE_PROCESS(COMMAND git submodule init WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
EXECUTE_PROCESS(COMMAND git submodule update WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.gitmodules)
|
||||
ENDIF()
|
||||
|
||||
IF( INTERNAL_JREEN )
|
||||
ADD_SUBDIRECTORY( ${THIRDPARTY_DIR}/jreen )
|
||||
SET( LIBJREEN_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/thirdparty/jreen/include )
|
||||
SET( LIBJREEN_LIBRARY jreen )
|
||||
SET( LIBJREEN_LIBRARIES ${LIBJREEN_LIBRARY} )
|
||||
SET( LIBJREEN_FOUND true )
|
||||
MESSAGE(STATUS "INTERNAL libjreen: ${LIBJREEN_INCLUDE_DIR}, ${LIBJREEN_LIBRARY}")
|
||||
ELSE( INTERNAL_JREEN )
|
||||
macro_optional_find_package(Jreen)
|
||||
ENDIF( INTERNAL_JREEN )
|
||||
macro_log_feature(LIBJREEN_FOUND "Jreen" "Qt XMPP Library" "https://github.com/euroelessar/jreen" FALSE "" "Jreen is needed for the Jabber SIP plugin. \n\n Use -DINTERNAL_JREEN=ON to build the git submodule inside Tomahawk \n Be aware this installs a full jreen with headers and everything!\n")
|
||||
macro_optional_find_package(Jreen 1.0.5)
|
||||
macro_log_feature(JREEN_FOUND "Jreen" "Qt XMPP Library" "http://qutim.org/jreen / https://github.com/euroelessar/jreen" FALSE "" "Jreen is needed for the Jabber SIP plugin.\n")
|
||||
|
||||
macro_optional_find_package(QTweetLib)
|
||||
macro_log_feature(QTWEETLIB_FOUND "QTweetLib" "Qt Twitter Library" "https://github.com/minimoog/QTweetLib" FALSE "" "QTweetLib is needed for the Twitter SIP plugin.\n")
|
||||
|
||||
macro_optional_find_package(LibLastFm 1.0.0)
|
||||
macro_log_feature(LIBLASTFM_FOUND "liblastfm" "Qt library for the Last.fm webservices" "https://github.com/eartle/liblastfm" TRUE "" "liblastfm is needed for scrobbling tracks to Last.fm and fetching cover artwork")
|
||||
|
||||
#### submodules start
|
||||
# automatically init submodules here, don't delete this code we may add submodules again
|
||||
|
||||
# this installs headers and such and should really be handled in a separate package by packagers
|
||||
|
||||
# IF( FALSE )
|
||||
# IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.gitmodules)
|
||||
# EXECUTE_PROCESS(COMMAND git submodule init WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
# EXECUTE_PROCESS(COMMAND git submodule update WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
# ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.gitmodules)
|
||||
# ENDIF()
|
||||
|
||||
#### submodules end
|
||||
|
||||
### libportfwd
|
||||
@@ -212,7 +208,3 @@ ADD_SUBDIRECTORY( src/libtomahawk )
|
||||
SET( TOMAHAWK_LIBRARIES tomahawklib )
|
||||
ADD_SUBDIRECTORY( src )
|
||||
ADD_SUBDIRECTORY( admin )
|
||||
|
||||
IF( NOT DISABLE_CRASHREPORTER )
|
||||
ADD_SUBDIRECTORY( src/breakpad/CrashReporter )
|
||||
ENDIF()
|
||||
|
99
CMakeModules/AddTomahawkPlugin.cmake
Normal file
@@ -0,0 +1,99 @@
|
||||
MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
|
||||
SET(DEFAULT_ARGS)
|
||||
FOREACH(arg_name ${arg_names})
|
||||
SET(${prefix}_${arg_name})
|
||||
ENDFOREACH(arg_name)
|
||||
FOREACH(option ${option_names})
|
||||
SET(${prefix}_${option} FALSE)
|
||||
ENDFOREACH(option)
|
||||
|
||||
SET(current_arg_name DEFAULT_ARGS)
|
||||
SET(current_arg_list)
|
||||
FOREACH(arg ${ARGN})
|
||||
SET(larg_names ${arg_names})
|
||||
LIST(FIND larg_names "${arg}" is_arg_name)
|
||||
IF (is_arg_name GREATER -1)
|
||||
SET(${prefix}_${current_arg_name} ${current_arg_list})
|
||||
SET(current_arg_name ${arg})
|
||||
SET(current_arg_list)
|
||||
ELSE (is_arg_name GREATER -1)
|
||||
SET(loption_names ${option_names})
|
||||
LIST(FIND loption_names "${arg}" is_option)
|
||||
IF (is_option GREATER -1)
|
||||
SET(${prefix}_${arg} TRUE)
|
||||
ELSE (is_option GREATER -1)
|
||||
SET(current_arg_list ${current_arg_list} ${arg})
|
||||
ENDIF (is_option GREATER -1)
|
||||
ENDIF (is_arg_name GREATER -1)
|
||||
ENDFOREACH(arg)
|
||||
SET(${prefix}_${current_arg_name} ${current_arg_list})
|
||||
ENDMACRO(PARSE_ARGUMENTS)
|
||||
|
||||
MACRO(CAR var)
|
||||
SET(${var} ${ARGV1})
|
||||
ENDMACRO(CAR)
|
||||
|
||||
MACRO(CDR var junk)
|
||||
SET(${var} ${ARGN})
|
||||
ENDMACRO(CDR)
|
||||
|
||||
|
||||
macro(add_tomahawk_plugin)
|
||||
parse_arguments(PLUGIN
|
||||
"SOURCES;UI;LINK_LIBRARIES;TYPE;EXPORT_MACRO;COMPILE_DEFINITIONS"
|
||||
"NO_INSTALL"
|
||||
${ARGN}
|
||||
)
|
||||
car(PLUGIN_NAME ${PLUGIN_DEFAULT_ARGS})
|
||||
|
||||
# message("*** Arguments for ${PLUGIN_NAME}")
|
||||
# message("Sources: ${PLUGIN_SOURCES}")
|
||||
# message("Link libraries: ${PLUGIN_LINK_LIBRARIES}")
|
||||
# message("UI: ${PLUGIN_UI}")
|
||||
# message("TYPE: ${PLUGIN_TYPE}")
|
||||
# message("EXPORT_MACRO: ${PLUGIN_EXPORT_MACRO}")
|
||||
|
||||
# create target name once for convenience
|
||||
set(target "tomahawk_${PLUGIN_TYPE}_${PLUGIN_NAME}")
|
||||
|
||||
# qt stuff
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
if(PLUGIN_UI)
|
||||
qt4_wrap_ui(PLUGIN_UI_SOURCES ${PLUGIN_UI})
|
||||
list(APPEND PLUGIN_SOURCES ${PLUGIN_UI_SOURCES})
|
||||
endif()
|
||||
|
||||
if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/resources.qrc")
|
||||
qt4_add_resources(PLUGIN_RC_SOURCES "resources.qrc")
|
||||
list(APPEND PLUGIN_SOURCES ${PLUGIN_RC_SOURCES})
|
||||
unset(PLUGIN_RC_SOURCES)
|
||||
endif()
|
||||
|
||||
# add target
|
||||
add_library(${target} MODULE ${PLUGIN_SOURCES})
|
||||
|
||||
# definitions - can this be moved into set_target_properties below?
|
||||
add_definitions(${QT_DEFINITIONS})
|
||||
set_target_properties(${target} PROPERTIES AUTOMOC TRUE COMPILE_DEFINITIONS ${PLUGIN_EXPORT_MACRO})
|
||||
if(PLUGIN_COMPILE_DEFINITIONS)
|
||||
# Dear CMake, i hate you! Sincerely, domme
|
||||
# At least in CMake 2.8.8, you CANNOT set more than one COMPILE_DEFINITIONS value
|
||||
# only takes the first one if called multiple times or bails out with wrong number of arguments
|
||||
# when passing in a list, thus i redefine the export macro here in hope it won't mess up other targets
|
||||
add_definitions( "-D${PLUGIN_EXPORT_MACRO}" )
|
||||
|
||||
set_target_properties(${target} PROPERTIES COMPILE_DEFINITIONS ${PLUGIN_COMPILE_DEFINITIONS})
|
||||
endif()
|
||||
|
||||
# add link targets
|
||||
target_link_libraries(${target} tomahawklib)
|
||||
if(PLUGIN_LINK_LIBRARIES)
|
||||
target_link_libraries(${target} ${PLUGIN_LINK_LIBRARIES})
|
||||
endif()
|
||||
|
||||
# make installation optional, maybe useful for dummy plugins one day
|
||||
if(NOT PLUGIN_NO_INSTALL)
|
||||
include(GNUInstallDirs)
|
||||
install(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
endif()
|
||||
endmacro()
|
@@ -1,23 +0,0 @@
|
||||
# - Try to find GLOOX
|
||||
# Find GLOOX headers, libraries and the answer to all questions.
|
||||
#
|
||||
# GLOOX_FOUND True if gloox got found
|
||||
# GLOOX_INCLUDE_DIR Location of gloox headers
|
||||
# GLOOX_LIBRARIES List of libaries to use gloox
|
||||
#
|
||||
# Copyright (c) 2009 Nigmatullin Ruslan <euroelessar@gmail.com>
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the New
|
||||
# BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
#
|
||||
|
||||
FIND_PATH( GLOOX_INCLUDE_DIR "gloox/gloox.h" )
|
||||
FIND_LIBRARY( GLOOX_LIBRARIES gloox )
|
||||
|
||||
if( GLOOX_LIBRARIES AND GLOOX_INCLUDE_DIR )
|
||||
message( STATUS "Found gloox: ${GLOOX_LIBRARIES}" )
|
||||
set( GLOOX_FOUND 1 )
|
||||
else( GLOOX_LIBRARIES AND GLOOX_INCLUDE_DIR )
|
||||
message( STATUS "Could NOT find gloox" )
|
||||
endif( GLOOX_LIBRARIES AND GLOOX_INCLUDE_DIR )
|
@@ -5,40 +5,31 @@
|
||||
# LIBJREEN_LIBRARY, the path to libjreen
|
||||
# LIBJREEN_FOUND, whether libjreen was found
|
||||
|
||||
FIND_PACKAGE(PkgConfig QUIET)
|
||||
PKG_CHECK_MODULES(PC_JREEN QUIET libjreen)
|
||||
|
||||
find_path(LIBJREEN_INCLUDE_DIR NAMES jreen/jreen.h
|
||||
HINTS
|
||||
~/usr/include
|
||||
/opt/local/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/opt/kde4/include
|
||||
${CMAKE_INSTALL_PREFIX}/include
|
||||
${KDE4_INCLUDE_DIR}
|
||||
FIND_PATH(JREEN_INCLUDE_DIR NAMES jreen/jreen.h
|
||||
HINTS
|
||||
${PC_JREEN_INCLUDEDIR}
|
||||
${PC_JREEN_INCLUDE_DIRS}
|
||||
${CMAKE_INSTALL_INCLUDEDIR}
|
||||
${KDE4_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
find_library( LIBJREEN_LIBRARY NAMES jreen
|
||||
PATHS
|
||||
~/usr/lib
|
||||
/opt/local/lib
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/usr/local/lib
|
||||
/opt/kde4/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
${KDE4_LIB_DIR}
|
||||
FIND_LIBRARY(JREEN_LIBRARIES NAMES jreen
|
||||
HINTS
|
||||
${PC_JREEN_LIBDIR}
|
||||
${PC_JREEN_LIBRARY_DIRS}
|
||||
${CMAKE_INSTALL_LIBDIR}
|
||||
${KDE4_LIB_DIR}
|
||||
)
|
||||
|
||||
IF(JREEN_LIBRARIES AND JREEN_INCLUDE_DIR AND NOT PC_JREEN_VERSION)
|
||||
MESSAGE(WARNING "You don't have pkg-config and so the Jreen version check does not work!")
|
||||
ENDIF()
|
||||
|
||||
if(LIBJREEN_INCLUDE_DIR AND LIBJREEN_LIBRARY)
|
||||
set(LIBJREEN_FOUND TRUE)
|
||||
message(STATUS "Found libjreen: ${LIBJREEN_INCLUDE_DIR}, ${LIBJREEN_LIBRARY}")
|
||||
else(LIBJREEN_INCLUDE_DIR AND LIBJREEN_LIBRARY)
|
||||
set(LIBJREEN_FOUND FALSE)
|
||||
if (LIBJREEN_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could NOT find required package libjreen")
|
||||
endif(LIBJREEN_FIND_REQUIRED)
|
||||
endif(LIBJREEN_INCLUDE_DIR AND LIBJREEN_LIBRARY)
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Jreen
|
||||
REQUIRED_VARS JREEN_LIBRARIES JREEN_INCLUDE_DIR)
|
||||
|
||||
mark_as_advanced(LIBJREEN_INCLUDE_DIR LIBJREEN_LIBRARY)
|
||||
MARK_AS_ADVANCED(JREEN_INCLUDE_DIR JREEN_LIBRARIES)
|
||||
|
@@ -1,42 +1,34 @@
|
||||
# - Find LibLastFM
|
||||
# Find the liblastfm includes and the liblastfm libraries
|
||||
# This module defines
|
||||
# LIBLASTFM_INCLUDE_DIR, root lastfm include dir
|
||||
# LIBLASTFM_LIBRARY, the path to liblastfm
|
||||
# LIBLASTFM_FOUND, whether liblastfm was found
|
||||
# - Try to find LibLastFm
|
||||
#
|
||||
# LIBLASTFM_FOUND - system has liblastfm
|
||||
# LIBLASTFM_INCLUDE_DIRS - the liblastfm include directories
|
||||
# LIBLASTFM_LIBRARIES - link these to use liblastfm
|
||||
#
|
||||
# (c) Dominik Schmidt <dev@dominik-schmidt.de>
|
||||
#
|
||||
|
||||
# Dependencies
|
||||
if(NOT QT4_FOUND)
|
||||
find_package(Qt4 REQUIRED)
|
||||
endif()
|
||||
|
||||
find_path(LIBLASTFM_INCLUDE_DIR NAMES Audioscrobbler
|
||||
HINTS
|
||||
~/usr/include
|
||||
/opt/local/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
/opt/kde4/include
|
||||
${KDE4_INCLUDE_DIR}
|
||||
PATH_SUFFIXES lastfm
|
||||
# Include dir
|
||||
find_path(LIBLASTFM_INCLUDE_DIR
|
||||
# Track.h doesn't exist in liblastfm-0.3.1, was called Track back then
|
||||
NAMES lastfm/Track.h
|
||||
PATHS ${KDE4_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
find_library( LIBLASTFM_LIBRARY NAMES lastfm
|
||||
PATHS
|
||||
~/usr/lib
|
||||
/opt/local/lib
|
||||
/usr/local/lib
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
/opt/kde4/lib
|
||||
${KDE4_LIB_DIR}
|
||||
# Finally the library itself
|
||||
find_library(LIBLASTFM_LIBRARY
|
||||
NAMES lastfm
|
||||
PATHS ${KDE4_LIB_DIR}
|
||||
)
|
||||
|
||||
set(LIBLASTFM_LIBRARIES ${LIBLASTFM_LIBRARY})
|
||||
set(LIBLASTFM_INCLUDE_DIRS ${LIBLASTFM_INCLUDE_DIR})
|
||||
|
||||
if(LIBLASTFM_INCLUDE_DIR AND LIBLASTFM_LIBRARY)
|
||||
set(LIBLASTFM_FOUND TRUE)
|
||||
message(STATUS "Found liblastfm: ${LIBLASTFM_INCLUDE_DIR}, ${LIBLASTFM_LIBRARY}")
|
||||
else(LIBLASTFM_INCLUDE_DIR AND LIBLASTFM_LIBRARY)
|
||||
set(LIBLASTFM_FOUND FALSE)
|
||||
if (LIBLASTFM_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could NOT find required package LibLastFm")
|
||||
endif(LIBLASTFM_FIND_REQUIRED)
|
||||
endif(LIBLASTFM_INCLUDE_DIR AND LIBLASTFM_LIBRARY)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(LibLastFm DEFAULT_MSG LIBLASTFM_LIBRARIES LIBLASTFM_INCLUDE_DIRS)
|
||||
|
||||
mark_as_advanced(LIBLASTFM_INCLUDE_DIR LIBLASTFM_LIBRARY)
|
||||
mark_as_advanced(LIBLASTFM_LIBRARIES LIBLASTFM_INCLUDE_DIRS)
|
||||
|
@@ -38,7 +38,9 @@ else (QCA2_INCLUDE_DIR AND QCA2_LIBRARIES)
|
||||
|
||||
find_path(QCA2_INCLUDE_DIR qca.h
|
||||
HINTS ${PC_QCA2_INCLUDEDIR} ${PC_QCA2_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES QtCrypto)
|
||||
PATH_SUFFIXES QtCrypto
|
||||
PATHS /usr/local/lib/qca.framework/Headers/
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(QCA2 DEFAULT_MSG QCA2_LIBRARIES QCA2_INCLUDE_DIR)
|
||||
|
@@ -56,7 +56,7 @@ ELSE()
|
||||
include(FindLibraryWithDebug)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_path(TAGLIB_CFLAGS
|
||||
find_path(TAGLIB_INCLUDES
|
||||
NAMES
|
||||
tag.h
|
||||
PATH_SUFFIXES taglib
|
||||
|
@@ -28,8 +28,8 @@
|
||||
|
||||
; We use official release plugins
|
||||
; mingw32-vlc from obs misses a lot and has even broken ones probably
|
||||
!define VLC_PATH "${SOURCE_PATH}\admin\win\vlc\prefix" ; SIC! ^
|
||||
!define VLC_BIN "${VLC_PATH}\bin"
|
||||
!define VLC_PATH "${SOURCE_PATH}\admin\win\vlc\" ; SIC! ^
|
||||
!define VLC_BIN "${VLC_PATH}"
|
||||
!define VLC_PLUGIN_PATH "${VLC_BIN}\plugins"
|
||||
|
||||
!define NSI_PATH "${SOURCE_PATH}/admin/win/nsi"
|
||||
@@ -278,10 +278,9 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
|
||||
|
||||
File "${INSTALL_PATH}\bin\libqxtweb-standalone.dll"
|
||||
File "${INSTALL_PATH}\bin\libtomahawk_portfwd.dll"
|
||||
File "${INSTALL_PATH}\bin\libtomahawk_lastfm2.dll"
|
||||
File "${INSTALL_PATH}\bin\libquazip.dll"
|
||||
File "${INSTALL_PATH}\bin\libtomahawklib.dll"
|
||||
File "${INSTALL_PATH}\lib\libtomahawk_sip*.dll"
|
||||
; plugins
|
||||
File "${INSTALL_PATH}\lib\libtomahawk_*_*.dll"
|
||||
!endif
|
||||
!ifndef INSTALL_PATH
|
||||
;Main executable.
|
||||
@@ -293,9 +292,8 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
|
||||
File "${BUILD_PATH}\libtomahawklib.dll"
|
||||
File "${BUILD_PATH}\libqxtweb-standalone.dll"
|
||||
File "${BUILD_PATH}\libtomahawk_portfwd.dll"
|
||||
File "${BUILD_PATH}\libtomahawk_lastfm2.dll"
|
||||
File "${BUILD_PATH}\libquazip.dll"
|
||||
File "${BUILD_PATH}\libtomahawk_sip*.dll"
|
||||
; plugins
|
||||
File "${BUILD_PATH}\libtomahawk_*_*.dll"
|
||||
!endif
|
||||
|
||||
;License & release notes.
|
||||
@@ -307,8 +305,10 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
|
||||
File "${QT_DLL_PATH}\QtGui4.dll"
|
||||
File "${QT_DLL_PATH}\QtNetwork4.dll"
|
||||
File "${QT_DLL_PATH}\QtSql4.dll"
|
||||
File "${QT_DLL_PATH}\QtXml4.dll"
|
||||
File "${QT_DLL_PATH}\QtScript4.dll"
|
||||
File "${QT_DLL_PATH}\QtUiTools4.dll"
|
||||
File "${QT_DLL_PATH}\QtWebKit4.dll"
|
||||
File "${QT_DLL_PATH}\QtXml4.dll"
|
||||
|
||||
;SQLite driver
|
||||
SetOutPath "$INSTDIR\sqldrivers"
|
||||
@@ -329,30 +329,17 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
|
||||
File "${MING_BIN}\libstdc++-6.dll"
|
||||
|
||||
;Phonon stuff
|
||||
|
||||
;Fix the phonon build to not use Dbus
|
||||
File "${QT_DLL_PATH}\QtDbus4.dll"
|
||||
File "${MING_BIN}\libdbus-1-3.dll"
|
||||
File "${MING_BIN}\dbus-daemon.exe"
|
||||
|
||||
File "${VLC_BIN}\libphonon.dll"
|
||||
File "${MING_BIN}\libphonon.dll"
|
||||
SetOutPath "$INSTDIR\phonon_backend"
|
||||
File "${VLC_BIN}\phonon_backend\phonon_vlc.dll"
|
||||
SetOutPath "$INSTDIR"
|
||||
|
||||
;VLC
|
||||
;SetOutPath "$INSTDIR\phonon_backend"
|
||||
File "${VLC_BIN}\libvlc.dll"
|
||||
File "${VLC_BIN}\libvlccore.dll"
|
||||
SetOutPath "$INSTDIR\plugins"
|
||||
File /r "${VLC_PLUGIN_PATH}\*.dll"
|
||||
SetOutPath "$INSTDIR"
|
||||
File "${MING_BIN}\libmad-0.dll" ; MP3
|
||||
File "${MING_BIN}\libFLAC-8.dll" ; FLAC
|
||||
File "${MING_BIN}\libogg-0.dll" ; OGG, FLAC
|
||||
File "${MING_BIN}\libvorbis-0.dll" ; OGG
|
||||
File "${MING_BIN}\libvorbisenc-2.dll" ; OGG
|
||||
|
||||
|
||||
; Other
|
||||
File "${MING_BIN}\libqjson.dll"
|
||||
@@ -362,7 +349,9 @@ Section "Tomahawk Player" SEC_TOMAHAWK_PLAYER
|
||||
File "${MING_BIN}\zlib1.dll"
|
||||
|
||||
File "${MING_BIN}\libechonest.dll"
|
||||
File "${MING_BIN}\liblastfm.dll"
|
||||
File "${MING_BIN}\libQTweetLib.dll"
|
||||
File "${MING_BIN}\libquazip.dll"
|
||||
|
||||
; Jabber
|
||||
File "${MING_BIN}\libjreen.dll"
|
||||
@@ -467,7 +456,8 @@ Section -post
|
||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tomahawk" "NoRepair" "1"
|
||||
|
||||
; Register tomahawk:// protocol handler
|
||||
WriteRegStr HKCR "tomahawk" "" "URL: Tomahawk Protocol"
|
||||
WriteRegStr HKCR "tomahawk" "" "URL:Tomahawk Protocol"
|
||||
WriteRegStr HKCR "tomahawk" "URL Protocol" ""
|
||||
WriteRegStr HKCR "tomahawk\DefaultIcon" "" $INSTDIR\tomahawk.exe,1
|
||||
WriteRegStr HKCR "tomahawk\shell" "" "open"
|
||||
WriteRegStr HKCR "tomahawk\shell\open\command" "" '"$INSTDIR\tomahawk.exe" "%1"'
|
||||
|
99
ChangeLog
@@ -1,3 +1,98 @@
|
||||
Version 0.5.1:
|
||||
* Better detection of local networks for the Local Network connector.
|
||||
* Don't prompt for access permission for your own accounts.
|
||||
|
||||
Version 0.5.0:
|
||||
* SOCKS5 proxy support improvements for resolvers and more.
|
||||
* Initial Access Control support, allowing users to define who is able to
|
||||
access and stream from their collection.
|
||||
* Priortize resolution of a track on double-click.
|
||||
* Spotify Resolver can now be easily installed on-demand from the settings.
|
||||
* You can now sync selected playlists (and updates) with Spotify.
|
||||
* Support .aiff (AIFF mimetype) files.
|
||||
* Cleaned up Diagnostics window.
|
||||
* You can tell Tomahawk to stop playback after a certain track finished.
|
||||
* Double-clicking a playlist name (in the sidebar) will start the playlist.
|
||||
* You can now import your entire Last.fm playback history into Tomahawk.
|
||||
* Fixed sorting of related artists.
|
||||
* Support for multimedia keys (Play, Pause, Next etc.) on Windows & Linux.
|
||||
* When listening privately scrobbling to Last.fm and Adium is now disabled.
|
||||
* Added a toolbar with page back / forward buttons and the global search.
|
||||
* New grid-like view with direct playback controls.
|
||||
* You can now browse new releases (by genre).
|
||||
* Added social sharing widget, which allows you to tweet about a song.
|
||||
* Added a track page showing a song's similar tracks and statistics.
|
||||
* Separate Loved Tracks and Recently Played views per source.
|
||||
* Combine an artist's albums into a single aggregated view.
|
||||
* Added translations for Arabic, French, Bulgarian, Spanish and more.
|
||||
* Fixed XSPF auto-updating.
|
||||
* New Tomahawk logo and icon.
|
||||
|
||||
Version 0.4.2:
|
||||
* Fix ZeroConf protocol showing IP addresses instead of host names.
|
||||
* Updated translations for various languages.
|
||||
* Resuming playback restores correct volume settings.
|
||||
* Reduced CPU usage during playback.
|
||||
* Fixed not starting up due to case sensitivity issue on OS X.
|
||||
* Fixed volume issue (too quiet) on Windows.
|
||||
|
||||
Version 0.4.1:
|
||||
* Fixed various crashes.
|
||||
* Fixed issues with auto-updating XSPF playlists.
|
||||
* Double-clicking a playlist starts playing it.
|
||||
* Resolvers can now return disc number and album position for results.
|
||||
* Fixed sorting playlists by track number.
|
||||
* Fixed issues with changing proxy.
|
||||
* Fixed Twitter authentication issues.
|
||||
* Fixed Grooveshark support on Windows.
|
||||
|
||||
Version 0.4.0:
|
||||
* Added visual notification for database indexing job.
|
||||
* Fixed icons not appearing in resolvers list.
|
||||
* Fixed various UI glitches and stray error messages in stations.
|
||||
* Fixed bug where album page would resolve bottom-to-top.
|
||||
* Fixed bug where Footnotes would not update when changing selected album.
|
||||
* Fixed dragging albums and artists from charts, album, and artist views.
|
||||
* Fixed bug where filter text would be one step behind filter value.
|
||||
* Fixed bug where resolvers would enable themselves after auto-updating.
|
||||
* Fixed occasional crash when dropping tracks onto New Station item.
|
||||
* Added jump-to-current-track support for search results page.
|
||||
* Fixed non-resolving tracks when dragging from album view.
|
||||
* Fixed fetching album covers for albums with special characters.
|
||||
* Show errors and continue gracefully when resolved audio is not available.
|
||||
* Fixed various crashes on exit.
|
||||
* Added basic command-line options for playback control.
|
||||
* Bumped up web api timeouts to allow web clients to finish resolving.
|
||||
* Added filename suggestion when exporting a playlist.
|
||||
* Cleaned up highlighting of artist names in album view.
|
||||
* Cleaned up alignment of playlist items.
|
||||
* Fixed potential crash when searching.
|
||||
* Added support for disc number.
|
||||
* Added SoundCloudWall.com charts.
|
||||
* Added ability to "lock on" to a user when listening along, to skip along.
|
||||
* Fixed bug where loved tracks would be refreshed much too often.
|
||||
* Fixed some font size issues.
|
||||
* Sped up Tomahawk startup by moving chart loading into a separate thread.
|
||||
* Added support for parsing Grooveshark and Tinysong tracks and playlists.
|
||||
* Reorganized sidebar to follow more logical item groupings.
|
||||
* Added artist and album results to global searches.
|
||||
* Fixed style and contrast issues when using GTK styles.
|
||||
* Fixed paths to artwork when using MPRIS2 interface.
|
||||
* Fixed out of sync Show/Hide menu items on OS X when hidden with cmd-h.
|
||||
* Fixed /Volumes directory not showing up on OS X.
|
||||
* Fixed startup crash on OS X.
|
||||
|
||||
Version 0.3.3:
|
||||
* Automatically load Super Collection tracks when no official release
|
||||
information is available.
|
||||
* Fixed stations not fetching new tracks under certain circumstances.
|
||||
* Fixed Footnotes not always updating when selecting a new track.
|
||||
* Added support for ow.ly, fb.me, itun.es and tinyurl.com URL shorteners.
|
||||
* Fixed playback issues with non-latin filenames on Windows.
|
||||
* Fixed tomahawk:// protocol not working properly on Windows.
|
||||
* Fixed dupe menu entry appearing on OS X.
|
||||
* Fixed invisible sidebar items on Linux.
|
||||
|
||||
Version 0.3.2:
|
||||
* Improved syncing process, it's faster and more reliable now.
|
||||
* Fixed UPnP issues.
|
||||
@@ -52,7 +147,7 @@ Version 0.3.0:
|
||||
* Added YouTube resolver.
|
||||
* Fixed bug where going offline then online would not re-connect to many
|
||||
peers.
|
||||
* Added support for auto-updating live XSPF playlists.
|
||||
* Added support for auto-updating live XSPF playlists.
|
||||
* Don't show an age of 41 years for tracks that have no age information.
|
||||
* Show config UI for resolvers that have them as soon as you add them.
|
||||
* Add support for Echo Nest Personal Catalogs and User Radio. Synchronize
|
||||
@@ -68,7 +163,7 @@ Version 0.3.0:
|
||||
* Added new job status view in the bottom of the source list that displays
|
||||
current jobs such as resolving, parsing playlists, and loading from
|
||||
database.
|
||||
* Parse and convert a Spotify playlist url when dropped anywhere on the
|
||||
* Parse and convert a Spotify playlist URL when dropped anywhere on the
|
||||
sidebar.
|
||||
* Convert resolvers to use asynchronous calls to avoid blocking Tomahawk's
|
||||
UI, greatly increasing responsiveness of Tomahawk while resolving.
|
||||
|
18
README
@@ -13,11 +13,11 @@ Compiling Tomahawk
|
||||
|
||||
Detailed building instructions for Ubuntu
|
||||
-----------------------------------------
|
||||
See: http://wiki.tomahawk-player.org/mediawiki/index.php/Building_Ubuntu_Binary_on_Maverick_(10.10)
|
||||
See: http://wiki.tomahawk-player.org/mediawiki/index.php/Building_Ubuntu_Binary_on_Precise_(12.04)
|
||||
|
||||
Detailed building instructions for OS X
|
||||
---------------------------------------
|
||||
See: http://wiki.tomahawk-player.org/mediawiki/index.php/Building_OS_X_Application_Bundle_on_Snow_Leopard_(10.6)
|
||||
See: http://wiki.tomahawk-player.org/mediawiki/index.php/Building_OS_X_Application_Bundle_on_Snow_Leopard_(10.6)_and_Lion_(10.7)
|
||||
|
||||
Doxygen Documentation
|
||||
---------------------
|
||||
@@ -27,25 +27,25 @@ Doxygen Documentation
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
CMake 2.8.0 - http://www.cmake.org/
|
||||
CMake 2.8.6 - http://www.cmake.org/
|
||||
Qt 4.7.0 - http://qt.nokia.com/
|
||||
QJson 0.7.1 - http://qjson.sourceforge.net/
|
||||
SQLite 3.6.22 - http://www.sqlite.org/
|
||||
TagLib 1.6.2 - http://developer.kde.org/~wheeler/taglib.html
|
||||
Boost 1.3 - http://www.boost.org/
|
||||
CLucene 0.9.23 (0.9.21 will fail) - http://clucene.sourceforge.net/download.shtml
|
||||
libechonest 1.2.0 - http://projects.kde.org/projects/playground/libs/libechonest/
|
||||
libechonest 1.2.1 - http://projects.kde.org/projects/playground/libs/libechonest/
|
||||
Attica 0.4.0 - ftp://ftp.kde.org/pub/kde/stable/attica/
|
||||
QuaZip 0.4.3 - http://quazip.sourceforge.net/
|
||||
|
||||
The following dependencies are optional, but recommended:
|
||||
|
||||
Attica 0.2.0 - ftp://ftp.kde.org/pub/kde/stable/attica/
|
||||
jreen (Git) - https://github.com/euroelessar/jreen
|
||||
QTweetLib 0.3.0 - https://github.com/minimoog/QTweetLib
|
||||
Jreen 1.0.5 - http://qutim.org/jreen / https://github.com/euroelessar/jreen
|
||||
QTweetLib 0.5.0 - https://github.com/minimoog/QTweetLib
|
||||
liblastfm 1.0.1 - http://github.com/eartle/liblastfm/
|
||||
|
||||
Third party libraries that we ship with our source:
|
||||
|
||||
MiniUPnP 1.6 - http://miniupnp.free.fr/
|
||||
liblastfm 0.4.0 - http://github.com/jonocole/liblastfm/
|
||||
QuaZip 0.4.3 - http://quazip.sourceforge.net/
|
||||
|
||||
Enjoy!
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
# This file is part of Clementine.
|
||||
# This file is part of Tomahawk.
|
||||
# It was inspired in large part by the macdeploy script in Clementine.
|
||||
#
|
||||
# Clementine is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -18,6 +18,7 @@
|
||||
import os
|
||||
import re
|
||||
import subprocess
|
||||
import commands
|
||||
import sys
|
||||
|
||||
FRAMEWORK_SEARCH_PATH=[
|
||||
@@ -27,161 +28,163 @@ FRAMEWORK_SEARCH_PATH=[
|
||||
|
||||
LIBRARY_SEARCH_PATH=['/usr/local/lib', '/usr/local/Cellar/gettext/0.18.1.1/lib', '.']
|
||||
|
||||
LIBSPOTIFY_VERSION = commands.getoutput("brew ls -version libspotify | tr -s \" \" \"\\\\012\" | tail -n 1").strip()
|
||||
LIBSPOTIFY_PATH = "/usr/local/lib/libspotify.%s.dylib" % LIBSPOTIFY_VERSION
|
||||
|
||||
VLC_PLUGINS=[
|
||||
'access/libaccess_attachment_plugin.dylib',
|
||||
#'access/libaccess_avio_plugin.dylib',
|
||||
'access/libaccess_fake_plugin.dylib',
|
||||
'access/libaccess_ftp_plugin.dylib',
|
||||
'access/libaccess_http_plugin.dylib',
|
||||
'access/libaccess_imem_plugin.dylib',
|
||||
'access/libaccess_mmap_plugin.dylib',
|
||||
'access/libaccess_mms_plugin.dylib',
|
||||
'access/libaccess_realrtsp_plugin.dylib',
|
||||
'access/libaccess_tcp_plugin.dylib',
|
||||
'access/libaccess_udp_plugin.dylib',
|
||||
'access/libcdda_plugin.dylib',
|
||||
'access/libfilesystem_plugin.dylib',
|
||||
'access/libqtcapture_plugin.dylib',
|
||||
'access/librtp_plugin.dylib',
|
||||
'access/libzip_plugin.dylib',
|
||||
'access_output/libaccess_output_dummy_plugin.dylib',
|
||||
'access_output/libaccess_output_file_plugin.dylib',
|
||||
'access_output/libaccess_output_http_plugin.dylib',
|
||||
'access_output/libaccess_output_shout_plugin.dylib',
|
||||
'access_output/libaccess_output_udp_plugin.dylib',
|
||||
'audio_filter/liba52tofloat32_plugin.dylib',
|
||||
'audio_filter/liba52tospdif_plugin.dylib',
|
||||
'audio_filter/libaudio_format_plugin.dylib',
|
||||
'audio_filter/libaudiobargraph_a_plugin.dylib',
|
||||
'audio_filter/libchorus_flanger_plugin.dylib',
|
||||
'audio_filter/libconverter_fixed_plugin.dylib',
|
||||
'audio_filter/libdolby_surround_decoder_plugin.dylib',
|
||||
'audio_filter/libdtstofloat32_plugin.dylib',
|
||||
'audio_filter/libdtstospdif_plugin.dylib',
|
||||
'audio_filter/libequalizer_plugin.dylib',
|
||||
'audio_filter/libheadphone_channel_mixer_plugin.dylib',
|
||||
'audio_filter/libmono_plugin.dylib',
|
||||
'audio_filter/libmpgatofixed32_plugin.dylib',
|
||||
'audio_filter/libnormvol_plugin.dylib',
|
||||
'audio_filter/libparam_eq_plugin.dylib',
|
||||
'audio_filter/libscaletempo_plugin.dylib',
|
||||
'audio_filter/libsimple_channel_mixer_plugin.dylib',
|
||||
'audio_filter/libspatializer_plugin.dylib',
|
||||
'audio_filter/libtrivial_channel_mixer_plugin.dylib',
|
||||
'audio_filter/libugly_resampler_plugin.dylib',
|
||||
'audio_mixer/libfloat32_mixer_plugin.dylib',
|
||||
'audio_mixer/libspdif_mixer_plugin.dylib',
|
||||
'audio_mixer/libtrivial_mixer_plugin.dylib',
|
||||
'audio_output/libaout_file_plugin.dylib',
|
||||
'audio_output/libauhal_plugin.dylib',
|
||||
'codec/liba52_plugin.dylib',
|
||||
'codec/libadpcm_plugin.dylib',
|
||||
'codec/libaes3_plugin.dylib',
|
||||
'codec/libaraw_plugin.dylib',
|
||||
'codec/libavcodec_plugin.dylib',
|
||||
'codec/libcc_plugin.dylib',
|
||||
'codec/libcdg_plugin.dylib',
|
||||
'codec/libdts_plugin.dylib',
|
||||
'codec/libfaad_plugin.dylib',
|
||||
'codec/libfake_plugin.dylib',
|
||||
'codec/libflac_plugin.dylib',
|
||||
'codec/libfluidsynth_plugin.dylib',
|
||||
'codec/libinvmem_plugin.dylib',
|
||||
'codec/liblpcm_plugin.dylib',
|
||||
'codec/libmpeg_audio_plugin.dylib',
|
||||
'codec/libpng_plugin.dylib',
|
||||
'codec/librawvideo_plugin.dylib',
|
||||
'codec/libspeex_plugin.dylib',
|
||||
'codec/libspudec_plugin.dylib',
|
||||
'codec/libtheora_plugin.dylib',
|
||||
'codec/libtwolame_plugin.dylib',
|
||||
'codec/libvorbis_plugin.dylib',
|
||||
'control/libgestures_plugin.dylib',
|
||||
'control/libhotkeys_plugin.dylib',
|
||||
'control/libmotion_plugin.dylib',
|
||||
'control/libnetsync_plugin.dylib',
|
||||
'control/libsignals_plugin.dylib',
|
||||
'demux/libaiff_plugin.dylib',
|
||||
'demux/libasf_plugin.dylib',
|
||||
'demux/libau_plugin.dylib',
|
||||
#'demux/libavformat_plugin.dylib',
|
||||
'demux/libavi_plugin.dylib',
|
||||
'demux/libdemux_cdg_plugin.dylib',
|
||||
'demux/libdemuxdump_plugin.dylib',
|
||||
'demux/libdirac_plugin.dylib',
|
||||
'demux/libes_plugin.dylib',
|
||||
'demux/libflacsys_plugin.dylib',
|
||||
'demux/liblive555_plugin.dylib',
|
||||
'demux/libmkv_plugin.dylib',
|
||||
'demux/libmod_plugin.dylib',
|
||||
'demux/libmp4_plugin.dylib',
|
||||
'demux/libmpc_plugin.dylib',
|
||||
'demux/libmpgv_plugin.dylib',
|
||||
'demux/libnsc_plugin.dylib',
|
||||
'demux/libnsv_plugin.dylib',
|
||||
'demux/libnuv_plugin.dylib',
|
||||
'demux/libogg_plugin.dylib',
|
||||
'demux/libplaylist_plugin.dylib',
|
||||
'demux/libps_plugin.dylib',
|
||||
'demux/libpva_plugin.dylib',
|
||||
'demux/librawaud_plugin.dylib',
|
||||
'demux/librawdv_plugin.dylib',
|
||||
'demux/librawvid_plugin.dylib',
|
||||
'demux/libreal_plugin.dylib',
|
||||
'demux/libsmf_plugin.dylib',
|
||||
'demux/libts_plugin.dylib',
|
||||
'demux/libtta_plugin.dylib',
|
||||
'demux/libty_plugin.dylib',
|
||||
'demux/libvc1_plugin.dylib',
|
||||
'demux/libvoc_plugin.dylib',
|
||||
'demux/libwav_plugin.dylib',
|
||||
'demux/libxa_plugin.dylib',
|
||||
'meta_engine/libfolder_plugin.dylib',
|
||||
'meta_engine/libtaglib_plugin.dylib',
|
||||
'misc/libaudioscrobbler_plugin.dylib',
|
||||
'misc/libdummy_plugin.dylib',
|
||||
'misc/libexport_plugin.dylib',
|
||||
'misc/libfreetype_plugin.dylib',
|
||||
'misc/libgnutls_plugin.dylib',
|
||||
'misc/liblogger_plugin.dylib',
|
||||
'misc/liblua_plugin.dylib',
|
||||
'misc/libosd_parser_plugin.dylib',
|
||||
'misc/libquartztext_plugin.dylib',
|
||||
'misc/libstats_plugin.dylib',
|
||||
'misc/libvod_rtsp_plugin.dylib',
|
||||
'misc/libxml_plugin.dylib',
|
||||
'misc/libxtag_plugin.dylib',
|
||||
'mmx/libi420_rgb_mmx_plugin.dylib',
|
||||
'mmx/libi420_yuy2_mmx_plugin.dylib',
|
||||
'mmx/libi422_yuy2_mmx_plugin.dylib',
|
||||
'mmx/libmemcpymmx_plugin.dylib',
|
||||
'mmxext/libmemcpymmxext_plugin.dylib',
|
||||
'mux/libmux_asf_plugin.dylib',
|
||||
'mux/libmux_avi_plugin.dylib',
|
||||
'mux/libmux_dummy_plugin.dylib',
|
||||
'mux/libmux_mp4_plugin.dylib',
|
||||
'mux/libmux_mpjpeg_plugin.dylib',
|
||||
'mux/libmux_ogg_plugin.dylib',
|
||||
'mux/libmux_ps_plugin.dylib',
|
||||
'mux/libmux_ts_plugin.dylib',
|
||||
'mux/libmux_wav_plugin.dylib',
|
||||
'packetizer/libpacketizer_copy_plugin.dylib',
|
||||
'packetizer/libpacketizer_dirac_plugin.dylib',
|
||||
'packetizer/libpacketizer_flac_plugin.dylib',
|
||||
'packetizer/libpacketizer_h264_plugin.dylib',
|
||||
'packetizer/libpacketizer_mlp_plugin.dylib',
|
||||
'packetizer/libpacketizer_mpeg4audio_plugin.dylib',
|
||||
'packetizer/libpacketizer_mpeg4video_plugin.dylib',
|
||||
'packetizer/libpacketizer_mpegvideo_plugin.dylib',
|
||||
'packetizer/libpacketizer_vc1_plugin.dylib',
|
||||
'sse2/libi420_rgb_sse2_plugin.dylib',
|
||||
'sse2/libi420_yuy2_sse2_plugin.dylib',
|
||||
'sse2/libi422_yuy2_sse2_plugin.dylib',
|
||||
'stream_filter/libdecomp_plugin.dylib',
|
||||
'stream_filter/libstream_filter_rar_plugin.dylib',
|
||||
'stream_filter/libstream_filter_record_plugin.dylib',
|
||||
'visualization/libvisual_plugin.dylib',
|
||||
'libaccess_attachment_plugin.dylib',
|
||||
#'libaccess_avio_plugin.dylib',
|
||||
#'libaccess_fake_plugin.dylib',
|
||||
'libaccess_ftp_plugin.dylib',
|
||||
'libaccess_http_plugin.dylib',
|
||||
'libaccess_imem_plugin.dylib',
|
||||
#'libaccess_mmap_plugin.dylib',
|
||||
'libaccess_mms_plugin.dylib',
|
||||
'libaccess_realrtsp_plugin.dylib',
|
||||
'libaccess_tcp_plugin.dylib',
|
||||
'libaccess_udp_plugin.dylib',
|
||||
'libcdda_plugin.dylib',
|
||||
'libfilesystem_plugin.dylib',
|
||||
'libqtcapture_plugin.dylib',
|
||||
'librtp_plugin.dylib',
|
||||
'libzip_plugin.dylib',
|
||||
'libaccess_output_dummy_plugin.dylib',
|
||||
'libaccess_output_file_plugin.dylib',
|
||||
'libaccess_output_http_plugin.dylib',
|
||||
'libaccess_output_shout_plugin.dylib',
|
||||
'libaccess_output_udp_plugin.dylib',
|
||||
'liba52tofloat32_plugin.dylib',
|
||||
'liba52tospdif_plugin.dylib',
|
||||
'libaudio_format_plugin.dylib',
|
||||
'libaudiobargraph_a_plugin.dylib',
|
||||
'libchorus_flanger_plugin.dylib',
|
||||
'libconverter_fixed_plugin.dylib',
|
||||
'libdolby_surround_decoder_plugin.dylib',
|
||||
'libdtstofloat32_plugin.dylib',
|
||||
'libdtstospdif_plugin.dylib',
|
||||
'libequalizer_plugin.dylib',
|
||||
'libheadphone_channel_mixer_plugin.dylib',
|
||||
'libmono_plugin.dylib',
|
||||
'libmpgatofixed32_plugin.dylib',
|
||||
'libnormvol_plugin.dylib',
|
||||
'libparam_eq_plugin.dylib',
|
||||
'libscaletempo_plugin.dylib',
|
||||
'libsimple_channel_mixer_plugin.dylib',
|
||||
'libspatializer_plugin.dylib',
|
||||
'libtrivial_channel_mixer_plugin.dylib',
|
||||
'libugly_resampler_plugin.dylib',
|
||||
'libfloat32_mixer_plugin.dylib',
|
||||
#'libspdif_mixer_plugin.dylib',
|
||||
#'libtrivial_mixer_plugin.dylib',
|
||||
'libaout_file_plugin.dylib',
|
||||
'libauhal_plugin.dylib',
|
||||
'liba52_plugin.dylib',
|
||||
'libadpcm_plugin.dylib',
|
||||
'libaes3_plugin.dylib',
|
||||
'libaraw_plugin.dylib',
|
||||
'libavcodec_plugin.dylib',
|
||||
'libcc_plugin.dylib',
|
||||
'libcdg_plugin.dylib',
|
||||
'libdts_plugin.dylib',
|
||||
'libfaad_plugin.dylib',
|
||||
#'libfake_plugin.dylib',
|
||||
'libflac_plugin.dylib',
|
||||
'libfluidsynth_plugin.dylib',
|
||||
#'libinvmem_plugin.dylib',
|
||||
'liblpcm_plugin.dylib',
|
||||
'libmpeg_audio_plugin.dylib',
|
||||
'libpng_plugin.dylib',
|
||||
'librawvideo_plugin.dylib',
|
||||
'libspeex_plugin.dylib',
|
||||
'libspudec_plugin.dylib',
|
||||
'libtheora_plugin.dylib',
|
||||
'libtwolame_plugin.dylib',
|
||||
'libvorbis_plugin.dylib',
|
||||
'libgestures_plugin.dylib',
|
||||
'libhotkeys_plugin.dylib',
|
||||
'libmotion_plugin.dylib',
|
||||
'libnetsync_plugin.dylib',
|
||||
#'libsignals_plugin.dylib',
|
||||
'libaiff_plugin.dylib',
|
||||
'libasf_plugin.dylib',
|
||||
'libau_plugin.dylib',
|
||||
#'libavformat_plugin.dylib',
|
||||
'libavi_plugin.dylib',
|
||||
'libdemux_cdg_plugin.dylib',
|
||||
'libdemuxdump_plugin.dylib',
|
||||
'libdirac_plugin.dylib',
|
||||
'libes_plugin.dylib',
|
||||
'libflacsys_plugin.dylib',
|
||||
'liblive555_plugin.dylib',
|
||||
'libmkv_plugin.dylib',
|
||||
'libmod_plugin.dylib',
|
||||
'libmp4_plugin.dylib',
|
||||
'libmpc_plugin.dylib',
|
||||
'libmpgv_plugin.dylib',
|
||||
'libnsc_plugin.dylib',
|
||||
'libnsv_plugin.dylib',
|
||||
'libnuv_plugin.dylib',
|
||||
'libogg_plugin.dylib',
|
||||
'libplaylist_plugin.dylib',
|
||||
'libps_plugin.dylib',
|
||||
'libpva_plugin.dylib',
|
||||
'librawaud_plugin.dylib',
|
||||
'librawdv_plugin.dylib',
|
||||
'librawvid_plugin.dylib',
|
||||
'libreal_plugin.dylib',
|
||||
'libsmf_plugin.dylib',
|
||||
'libts_plugin.dylib',
|
||||
'libtta_plugin.dylib',
|
||||
'libty_plugin.dylib',
|
||||
'libvc1_plugin.dylib',
|
||||
'libvoc_plugin.dylib',
|
||||
'libwav_plugin.dylib',
|
||||
'libxa_plugin.dylib',
|
||||
'libfolder_plugin.dylib',
|
||||
'libtaglib_plugin.dylib',
|
||||
'libaudioscrobbler_plugin.dylib',
|
||||
'libdummy_plugin.dylib',
|
||||
'libexport_plugin.dylib',
|
||||
'libfreetype_plugin.dylib',
|
||||
'libgnutls_plugin.dylib',
|
||||
'liblogger_plugin.dylib',
|
||||
'liblua_plugin.dylib',
|
||||
'libosd_parser_plugin.dylib',
|
||||
'libquartztext_plugin.dylib',
|
||||
'libstats_plugin.dylib',
|
||||
'libvod_rtsp_plugin.dylib',
|
||||
'libxml_plugin.dylib',
|
||||
#'libxtag_plugin.dylib',
|
||||
'libi420_rgb_mmx_plugin.dylib',
|
||||
'libi420_yuy2_mmx_plugin.dylib',
|
||||
'libi422_yuy2_mmx_plugin.dylib',
|
||||
'libmemcpymmx_plugin.dylib',
|
||||
'libmemcpymmxext_plugin.dylib',
|
||||
'libmux_asf_plugin.dylib',
|
||||
'libmux_avi_plugin.dylib',
|
||||
'libmux_dummy_plugin.dylib',
|
||||
'libmux_mp4_plugin.dylib',
|
||||
'libmux_mpjpeg_plugin.dylib',
|
||||
'libmux_ogg_plugin.dylib',
|
||||
'libmux_ps_plugin.dylib',
|
||||
'libmux_ts_plugin.dylib',
|
||||
'libmux_wav_plugin.dylib',
|
||||
'libpacketizer_copy_plugin.dylib',
|
||||
'libpacketizer_dirac_plugin.dylib',
|
||||
'libpacketizer_flac_plugin.dylib',
|
||||
'libpacketizer_h264_plugin.dylib',
|
||||
'libpacketizer_mlp_plugin.dylib',
|
||||
'libpacketizer_mpeg4audio_plugin.dylib',
|
||||
'libpacketizer_mpeg4video_plugin.dylib',
|
||||
'libpacketizer_mpegvideo_plugin.dylib',
|
||||
'libpacketizer_vc1_plugin.dylib',
|
||||
'libi420_rgb_sse2_plugin.dylib',
|
||||
'libi420_yuy2_sse2_plugin.dylib',
|
||||
'libi422_yuy2_sse2_plugin.dylib',
|
||||
'libdecomp_plugin.dylib',
|
||||
'libstream_filter_rar_plugin.dylib',
|
||||
'libstream_filter_record_plugin.dylib',
|
||||
'libvisual_plugin.dylib',
|
||||
]
|
||||
|
||||
VLC_SEARCH_PATH=[
|
||||
@@ -199,15 +202,24 @@ QT_PLUGINS = [
|
||||
]
|
||||
|
||||
TOMAHAWK_PLUGINS = [
|
||||
'libtomahawk_sipjabber.dylib',
|
||||
'libtomahawk_sipgoogle.dylib',
|
||||
'libtomahawk_siptwitter.dylib',
|
||||
'libtomahawk_sipzeroconf.dylib',
|
||||
'libtomahawk_qtweetlib.dylib',
|
||||
'libtomahawk_account_xmpp.so',
|
||||
'libtomahawk_account_google.so',
|
||||
'libtomahawk_account_twitter.so',
|
||||
'libtomahawk_account_zeroconf.so',
|
||||
'libtomahawk_infoplugin_adium.so',
|
||||
'libtomahawk_infoplugin_charts.so',
|
||||
'libtomahawk_infoplugin_discogs.so',
|
||||
'libtomahawk_infoplugin_echonest.so',
|
||||
'libtomahawk_infoplugin_hypem.so',
|
||||
'libtomahawk_infoplugin_musicbrainz.so',
|
||||
'libtomahawk_infoplugin_musixmatch.so',
|
||||
'libtomahawk_infoplugin_newreleases.so',
|
||||
'libtomahawk_infoplugin_rovi.so',
|
||||
'libtomahawk_infoplugin_spotify.so',
|
||||
]
|
||||
|
||||
QT_PLUGINS_SEARCH_PATH=[
|
||||
'/usr/local/Cellar/qt/4.7.4/plugins',
|
||||
'/usr/local/Cellar/qt/4.8.2/plugins',
|
||||
]
|
||||
|
||||
|
||||
@@ -250,7 +262,7 @@ frameworks_dir = os.path.join(bundle_dir, 'Contents', 'Frameworks')
|
||||
commands.append(['mkdir', '-p', frameworks_dir])
|
||||
resources_dir = os.path.join(bundle_dir, 'Contents', 'Resources')
|
||||
commands.append(['mkdir', '-p', resources_dir])
|
||||
plugins_dir = os.path.join(bundle_dir, 'Contents', 'plugins')
|
||||
plugins_dir = os.path.join(bundle_dir, 'Contents', 'qt-plugins')
|
||||
binary = os.path.join(bundle_dir, 'Contents', 'MacOS', bundle_name)
|
||||
|
||||
fixed_libraries = []
|
||||
@@ -364,8 +376,7 @@ def FixVLCPlugin(abs_path, subdir):
|
||||
FixAllLibraries(broken_libs)
|
||||
|
||||
#print "Copying plugin....%s %s %s" % (plugins_dir, subdir, os.path.join(abs_path.split('/')[-2:]))
|
||||
plugindir = abs_path.split('/')[-2]
|
||||
new_path = os.path.join(plugins_dir, subdir, plugindir, os.path.basename(abs_path))
|
||||
new_path = os.path.join(plugins_dir, subdir, os.path.basename(abs_path))
|
||||
args = ['mkdir', '-p', os.path.dirname(new_path)]
|
||||
commands.append(args)
|
||||
args = ['ditto', '--arch=i386', '--arch=x86_64', abs_path, new_path]
|
||||
@@ -491,21 +502,21 @@ def FindVLCPlugin(name):
|
||||
FixBinary(binary)
|
||||
|
||||
for plugin in VLC_PLUGINS:
|
||||
FixVLCPlugin(FindVLCPlugin(plugin), '.')
|
||||
FixVLCPlugin(FindVLCPlugin(plugin), '../plugins')
|
||||
|
||||
for plugin in TOMAHAWK_PLUGINS:
|
||||
FixPlugin(plugin, '../MacOS')
|
||||
|
||||
try:
|
||||
FixPlugin('spotify_tomahawkresolver', '../MacOS')
|
||||
except:
|
||||
print 'Failed to find spotify resolver'
|
||||
|
||||
try:
|
||||
FixPlugin('tomahawk_crash_reporter', '../MacOS')
|
||||
except:
|
||||
print 'Failed to find tomahawk_crash_reporter'
|
||||
|
||||
try:
|
||||
FixPlugin(LIBSPOTIFY_PATH, "../Frameworks")
|
||||
except:
|
||||
print "Failed to copy libspotify from os: %s" % LIBSPOTIFY_PATH
|
||||
|
||||
for plugin in QT_PLUGINS:
|
||||
FixPlugin(FindQtPlugin(plugin), os.path.dirname(plugin))
|
||||
|
||||
|
@@ -1,2 +1,2 @@
|
||||
[Paths]
|
||||
Plugins = PlugIns
|
||||
Plugins = qt-plugins
|
||||
|
@@ -4,8 +4,9 @@ Version=1.0
|
||||
Name=Tomahawk
|
||||
GenericName=Music Player
|
||||
TryExec=tomahawk
|
||||
Exec=tomahawk
|
||||
Exec=tomahawk %u
|
||||
Comment=Tomahawk - Social Music Player
|
||||
Icon=tomahawk
|
||||
Terminal=false
|
||||
Categories=Qt;AudioVideo;Audio;Player;
|
||||
MimeType=x-scheme-handler/tomahawk;
|
||||
|
@@ -3,9 +3,12 @@ SET(MINGW_PREFIX "i686-w64-mingw32")
|
||||
# this one is important
|
||||
SET(CMAKE_SYSTEM_NAME Windows)
|
||||
|
||||
|
||||
# specify the cross compiler
|
||||
SET(CMAKE_C_COMPILER ccache ${MINGW_PREFIX}-gcc)
|
||||
SET(CMAKE_C_FLAGS "-fno-keep-inline-dllexport")
|
||||
SET(CMAKE_CXX_COMPILER ccache ${MINGW_PREFIX}-g++)
|
||||
SET(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS})
|
||||
SET(CMAKE_RC_COMPILER /usr/bin/${MINGW_PREFIX}-windres)
|
||||
|
||||
# where is the target environment containing libraries
|
||||
@@ -15,13 +18,6 @@ SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
|
||||
|
||||
|
||||
# libs with broken find modules
|
||||
SET(TAGLIB_FOUND true)
|
||||
SET(TAGLIB_LIBRARIES ${CMAKE_FIND_ROOT_PATH}/lib/libtag.dll.a)
|
||||
SET(TAGLIB_INCLUDES ${CMAKE_FIND_ROOT_PATH}/include/taglib)
|
||||
|
||||
# configure qt variables
|
||||
SET(QT_LIBRARY_DIR /usr/${MINGW_PREFIX}/bin)
|
||||
SET(QT_PLUGINS_DIR ${CMAKE_FIND_ROOT_PATH}/lib/qt4/plugins/)
|
||||
SET(QT_QTUITOOLS_LIBRARY_RELEASE ${CMAKE_FIND_ROOT_PATH}/lib/libQtUiTools.a)
|
||||
SET(QT_QTUITOOLS_LIBRARY_DEBUG ${CMAKE_FIND_ROOT_PATH}/lib/libQtUiToolsd.a)
|
||||
SET(QT_QTUITOOLS_LIBRARY ${QT_QTUITOOLS_LIBRARY_RELEASE})
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
@@ -1,42 +1,52 @@
|
||||
#!/bin/bash
|
||||
echo "Remove old vlc dir..."
|
||||
|
||||
mkdir -p vlc/
|
||||
cd vlc/
|
||||
if [ "$1" = "-c" ] ; then
|
||||
echo "Continuing last download.."
|
||||
rm -rvf vlc/
|
||||
else
|
||||
echo "Update archive..."
|
||||
fi
|
||||
|
||||
#rm -vf vlc-*.7z
|
||||
#rm -rf vlc/
|
||||
rm -rvf vlc/
|
||||
|
||||
echo "Download specified binary..."
|
||||
#wget -c "http://downloads.sourceforge.net/project/vlc/1.1.9/win32/vlc-1.1.9-win32.7z?r=http%3A%2F%2Fwww.videolan.org%2Fvlc%2Fdownload-windows.html&ts=1306272584&use_mirror=leaseweb"
|
||||
#wget -c "http://download.tomahawk-player.org/tomahawk-vlc-0.1.zip"
|
||||
wget -c http://people.videolan.org/~jb/phonon/phonon-vlc-last.7z
|
||||
|
||||
echo "Download phonon archive..."
|
||||
# wget -c "http://downloads.sourceforge.net/project/vlc/1.1.9/win32/vlc-1.1.9-win32.7z?r=http%3A%2F%2Fwww.videolan.org%2Fvlc%2Fdownload-windows.html&ts=1306272584&use_mirror=leaseweb"
|
||||
# wget -c "http://download.tomahawk-player.org/tomahawk-vlc-0.1.zip"
|
||||
# wget -c http://people.videolan.org/~jb/phonon/phonon-vlc-last.7z
|
||||
# wget -c http://people.videolan.org/~jb/phonon/phonon_phonon-vlc_20111128.7z
|
||||
wget -c http://download.tomahawk-player.org/test/pvlc.tar.bz2
|
||||
|
||||
echo "Extract binary..."
|
||||
7z x phonon-vlc-last.7z
|
||||
#mv -v vlc-*/ vlc/
|
||||
#unzip tomahawk-vlc-0.1.zip
|
||||
# 7z x phonon*.7z
|
||||
# mv -v vlc-*/ vlc/
|
||||
# unzip tomahawk-vlc-0.1.zip
|
||||
tar xvjf pvlc.tar.bz2
|
||||
|
||||
echo "Strip unneeded plugins from vlc/plugins..."
|
||||
cd prefix/bin/plugins
|
||||
rm -rvf libold* libvcd* libdvd* liblibass* libx264* libschroe* liblibmpeg2* \
|
||||
libstream_out_* libmjpeg_plugin* libh264_plugin* libzvbi_plugin* lib*sub* \
|
||||
*qt4* *skins2* libaccess_bd_plugin.dll \
|
||||
libaudiobargraph_* libball_plugin.dll \
|
||||
libdirac_plugin.dll \
|
||||
libgnutls_plugin.dll \
|
||||
libcaca_plugin.dll \
|
||||
libfreetype_plugin.dll \
|
||||
libaccess_output_shout_plugin.dll \
|
||||
libremoteosd_plugin.dll \
|
||||
libsdl_image_plugin.dll \
|
||||
libvout_sdl_plugin.dll \
|
||||
libpng_plugin.dll \
|
||||
libgoom_plugin.dll \
|
||||
libatmo_plugin.dll \
|
||||
libmux_ts_plugin.dll \
|
||||
libkate_plugin.dll \
|
||||
libtaglib_plugin.dll
|
||||
# echo "Download phonon_vlc_no_video.dll..."
|
||||
# wget -c http://people.videolan.org/~jb/phonon/phonon_vlc_no_video.dll
|
||||
# cp -v phonon_vlc_no_video.dll prefix/bin/phonon_backend/phonon_vlc.dll
|
||||
|
||||
# echo "Strip unneeded plugins from vlc/plugins..."
|
||||
# cd prefix/bin/plugins
|
||||
# rm -rvf libold* libvcd* libdvd* liblibass* libx264* libschroe* liblibmpeg2* \
|
||||
# libstream_out_* libmjpeg_plugin* libh264_plugin* libzvbi_plugin* lib*sub* \
|
||||
# *qt4* *skins2* libaccess_bd_plugin.dll \
|
||||
# libaudiobargraph_* libball_plugin.dll \
|
||||
# libdirac_plugin.dll \
|
||||
# libgnutls_plugin.dll \
|
||||
# libcaca_plugin.dll \
|
||||
# libfreetype_plugin.dll \
|
||||
# libaccess_output_shout_plugin.dll \
|
||||
# libremoteosd_plugin.dll \
|
||||
# libsdl_image_plugin.dll \
|
||||
# libvout_sdl_plugin.dll \
|
||||
# libpng_plugin.dll \
|
||||
# libgoom_plugin.dll \
|
||||
# libatmo_plugin.dll \
|
||||
# libmux_ts_plugin.dll \
|
||||
# libkate_plugin.dll \
|
||||
# libtaglib_plugin.dll
|
||||
|
||||
|
||||
# this is for vlc-1.2
|
||||
|
BIN
data/icons/tomahawk-icon-128x128-grayscale.png
Normal file
After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 260 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 1.0 MiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 19 KiB |
@@ -1,304 +1,80 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 15.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="600px" height="600px" viewBox="0 0 600 600" enable-background="new 0 0 600 600" xml:space="preserve">
|
||||
<path fill="#010101" d="M543.773,253.359c0-49.962-19.305-86.572-54.194-104.54C477.84,71.133,405.027,13.418,316.568,13.418
|
||||
c-86.917,0-159.483,56.481-172.605,132.58c-38.049,16.818-59.889,55.24-59.889,107.361c0,27.029,7.188,51.824,20.321,71.749
|
||||
c-1.816,1.565-3.444,3.282-4.77,5.239c0,0,2.582,2.359,3.689,3.373c-4.262,2.123-8.22,4.322-11.555,6.67
|
||||
c0,0,3.021,7.355,5.896,14.353c-11.991,9.688-21.312,18.92-27.553,27.51c0,0,1.611,1.789,2.011,2.225
|
||||
c-12.354,9.158-22.133,18.205-28.528,27.021c0,0,6.927,7.35,12.408,13.166c-17.824,28.76-43.348,74.85-43.348,102.988
|
||||
c0,3.278,0.346,6.315,1.093,9.053c1.764,6.443,5.752,11.438,11.229,14.059c15.255,7.312,39.646-6.362,72.589-40.434
|
||||
c-0.828,8.287-1.457,16.662-1.457,24.736c0,16.805,2.266,32.069,8.77,41.25c4.887,6.895,10.898,9.067,15.084,9.682
|
||||
c6.723,0.99,26.375,3.797,57.992-61.295c2.678,0.705,5.421,1.178,8.235,1.178c8.798,0,17.065-3.424,23.287-9.639
|
||||
c4.284-4.287,7.133-9.584,8.562-15.312c7.516-2.129,14.555-6.701,20.779-13.19c19.562,24.86,44.779,37.643,75.38,37.643
|
||||
c7.317,0,14.474-0.754,21.281-2.242c0.392-0.073,2.555-0.623,2.555-0.623l0.62-0.166c23.05-5.823,42.463-20.409,58-43.254
|
||||
c7.2,9.23,15.731,15.994,24.849,19.457c1.141,6.658,4.226,12.808,9.102,17.691c6.22,6.213,14.487,9.639,23.288,9.639
|
||||
c8.798,0,17.063-3.426,23.285-9.639c6.221-6.229,9.647-14.494,9.647-23.293c0-8.797-3.429-17.066-9.647-23.293
|
||||
c-2.988-2.988-6.478-5.297-10.248-6.924c0.275-2.947,0.611-5.849,0.611-9.009c0-10.028-1.398-20.979-4.19-31.897
|
||||
c-1.196-4.672-2.757-8.746-4.513-12.568c2.84-6.467,4.807-13.268,4.807-20.426c0-7.316-1.74-14.422-4.706-21.01
|
||||
C509.263,358.345,543.773,313.068,543.773,253.359z M451.232,150.998c-33.396-54.619-88.048-93.359-134.569-85.472
|
||||
c-49.022-7.864-102.775,30.64-135.326,85.018c-2.646,0.208-5.276,0.497-7.875,0.88c8.694-54.414,69.431-111.108,143.107-111.108
|
||||
c74.113,0,135.142,57.197,143.271,112.08C457.013,151.799,454.137,151.348,451.232,150.998z"/>
|
||||
<path fill="#010101" stroke="#FFFFFF" stroke-width="4.8437" d="M110.937,367.38c-72.03,93.07-97.843,163.349-81.865,170.996
|
||||
c15.97,7.654,74.912-46.055,139.701-143.287c45.751-68.647,60.797-94.43,45.68-95.922l20.614-43.357l-10.687-6.644l-33.91,33.371
|
||||
C179.323,272.615,166.073,296.146,110.937,367.38z"/>
|
||||
<path fill="#010101" stroke="#FFFFFF" stroke-width="4.8437" d="M140.932,379.755c-39.101,113.041-39.738,189.89-20.813,192.654
|
||||
c18.912,2.787,59.039-67.617,89.306-182.603c21.383-81.178,27.257-111.029,11.438-108l5.133-48.806l-13.207-3.354l-22.192,42.936
|
||||
C175.736,266.142,170.865,293.244,140.932,379.755z"/>
|
||||
<circle fill="none" stroke="#010101" stroke-width="4.8437" cx="410.28" cy="388.832" r="37.801"/>
|
||||
<path fill="#ED2224" stroke="#010101" stroke-width="4.8437" d="M475.237,157.792c-7.115-73.197-76.231-130.645-160.495-130.645
|
||||
c-83.402,0-152.009,56.27-160.306,128.393c-39.811,13.607-58.455,52.219-58.455,97.818c0,56.946,34.681,103.108,89.925,103.108
|
||||
c35.784,0,67.089-19.432,84.771-48.551c14.01,3.533,28.776,5.463,44.064,5.463c13.16,0,25.934-1.438,38.173-4.076
|
||||
c17.966,28.357,49.108,47.164,84.604,47.164c55.665,0,90.696-46.162,90.696-103.108
|
||||
C528.218,210.073,512.209,173.073,475.237,157.792z M314.742,274.908c-10.501,0-20.723-0.878-30.584-2.506
|
||||
c1.125-6.177,1.778-12.527,1.778-19.043c0-56.941-44.786-103.104-100.03-103.104c-4.858,0-9.597,0.478-14.271,1.169
|
||||
c8.692-54.414,69.43-111.108,143.105-111.108c74.113,0,135.144,57.197,143.27,112.08c-6.617-1.398-13.473-2.141-20.49-2.141
|
||||
c-55.675,0-100.801,46.163-100.801,103.104c0,6.852,0.687,13.536,1.931,20.013C330.872,274.364,322.888,274.908,314.742,274.908z"/>
|
||||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-1087.6663" y1="191.4385" x2="-992.1917" y2="191.4385" gradientTransform="matrix(-0.3782 -0.8348 1.083 -0.4907 -423.9551 -476.2263)">
|
||||
<stop offset="0" style="stop-color:#010101"/>
|
||||
<stop offset="0.2606" style="stop-color:#3E221C"/>
|
||||
<stop offset="0.7732" style="stop-color:#B03126"/>
|
||||
<stop offset="1" style="stop-color:#ED2224"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_1_)" d="M153.69,260.35c31.322-14.19,65.739-18.887,77.129,6.254c11.391,25.14-4.763,57.026-36.091,71.214
|
||||
c-31.323,14.192-65.948,5.311-77.338-19.83C106,292.849,122.366,274.543,153.69,260.35z"/>
|
||||
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-1275.886" y1="215.5034" x2="-1180.4114" y2="215.5034" gradientTransform="matrix(-0.9008 -0.3607 0.555 -1.386 -752.6548 131.7681)">
|
||||
<stop offset="0" style="stop-color:#B11F24"/>
|
||||
<stop offset="0.1017" style="stop-color:#B62024"/>
|
||||
<stop offset="1" style="stop-color:#ED2224"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_2_)" d="M427.738,265.165c16.043-40.085,41.342-74.985,68.475-64.122
|
||||
c27.121,10.86,36.109,52.165,20.056,92.248c-16.053,40.089-51.062,63.773-78.189,52.912
|
||||
C410.95,335.343,411.683,305.253,427.738,265.165z"/>
|
||||
<path fill="#010101" stroke="#010101" stroke-width="4.8437" d="M448.219,425.226c7.774,30.396,3.98,62.357-14.521,62.357
|
||||
c-16.301,0-34.904-17.332-42.675-47.732c-7.777-30.399,4.243-75.016,14.521-62.364C423.584,399.707,440.442,394.826,448.219,425.226
|
||||
z"/>
|
||||
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-639.5422" y1="548.502" x2="-691.4051" y2="458.673" gradientTransform="matrix(0.9868 0.0515 0.0515 0.7987 840.2104 72.6462)">
|
||||
<stop offset="0" style="stop-color:#5B3E1D"/>
|
||||
<stop offset="0.1121" style="stop-color:#42301B"/>
|
||||
<stop offset="0.2377" style="stop-color:#2E2316"/>
|
||||
<stop offset="0.3753" style="stop-color:#1D1710"/>
|
||||
<stop offset="0.5292" style="stop-color:#0E0C08"/>
|
||||
<stop offset="0.7122" style="stop-color:#030302"/>
|
||||
<stop offset="1" style="stop-color:#000000"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_3_)" stroke="#010101" stroke-width="4.8437" d="M184.076,437.859c-6.111,23.875,1.745,46.508,17.54,50.549
|
||||
c15.79,4.039,33.552-12.045,39.658-35.924c6.101-23.882-9.153-57.129-24.947-61.17C200.537,387.275,190.178,413.972,184.076,437.859
|
||||
z"/>
|
||||
<path fill="#010101" stroke="#010101" stroke-width="4.8437" d="M314.837,65.525c72.757-12.333,165.505,89.311,165.505,187.528
|
||||
c0,98.213-74.307,162.833-165.707,162.833"/>
|
||||
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-664.3811" y1="374.0068" x2="-500.546" y2="90.2362" gradientTransform="matrix(1 0 0 1 858.79 0.3506)">
|
||||
<stop offset="0" style="stop-color:#000000"/>
|
||||
<stop offset="1" style="stop-color:#5B3E1D"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_4_)" stroke="#010101" stroke-width="4.8437" d="M314.635,415.888c-91.402,0-165.299-64.619-165.299-162.833
|
||||
c0-98.218,88.615-199.862,165.5-187.528"/>
|
||||
<linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-760.302" y1="-37.9087" x2="-639.3506" y2="-247.4027" gradientTransform="matrix(-0.6092 0.7802 -0.4118 -0.3216 -240.6183 671.6459)">
|
||||
<stop offset="0" style="stop-color:#8B654B"/>
|
||||
<stop offset="1" style="stop-color:#000000"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_5_)" d="M169.611,266.578c-27.578-21.539-16.863-81.354,23.935-133.604
|
||||
c40.804-52.245,93.81-72.894,126.21-59.689c26.672,10.864,14.476,85.434-26.326,137.681
|
||||
C252.63,263.215,197.193,288.112,169.611,266.578z"/>
|
||||
<circle fill="#010101" cx="214.367" cy="388.832" r="34.682"/>
|
||||
<g>
|
||||
<path fill="#F4DFED" d="M131.831,427.708c-23.973,79.734-18.741,132.268-9.011,135.459c10.854,3.564,43.561-47.223,60.839-128.324
|
||||
c12.189-57.264,11.729-83.75,0.009-81.625l3.505-31.108l-8.899-2.435l-14.271,32.445
|
||||
C152.554,347.564,150.184,366.689,131.831,427.708z"/>
|
||||
|
||||
<linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-710.6404" y1="319.3252" x2="-710.6405" y2="562.8164" gradientTransform="matrix(1 0 0 1 858.79 0.3506)">
|
||||
<stop offset="0" style="stop-color:#571A54"/>
|
||||
<stop offset="0.2641" style="stop-color:#7C5378"/>
|
||||
<stop offset="0.528" style="stop-color:#A78AA3"/>
|
||||
<stop offset="0.7459" style="stop-color:#CDBCCB"/>
|
||||
<stop offset="0.9095" style="stop-color:#EAE1E8"/>
|
||||
<stop offset="1" style="stop-color:#F9F3F8"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_6_)" d="M146.41,479.117l-22.914,19.186l35.325-65.182l4.683-17.371c0,0,3.1-26.758-24.228,14.713
|
||||
c16.962-56.432,32.317-62.998,32.317-62.998l11.402-46.658l-4.725-1.131l-14.702,30.23c-11.429-4.588-13.859,14.521-32.392,75.483
|
||||
c-24.226,79.656-20.501,124.087-8.358,137.777L146.41,479.117z"/>
|
||||
|
||||
<linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-789.3508" y1="444.1797" x2="-821.2424" y2="531.975" gradientTransform="matrix(0.9399 -0.3414 0.3414 0.9399 754.2939 -277.891)">
|
||||
<stop offset="0" style="stop-color:#802986"/>
|
||||
<stop offset="0.2641" style="stop-color:#9D66A2"/>
|
||||
<stop offset="0.528" style="stop-color:#BE9BC2"/>
|
||||
<stop offset="0.7459" style="stop-color:#DBC8DE"/>
|
||||
<stop offset="0.9095" style="stop-color:#F0E6F1"/>
|
||||
<stop offset="1" style="stop-color:#F9F3F8"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_7_)" d="M147.332,501.478l31.839-92.399c0,0,6.608,60.69-7.474,93.406
|
||||
c1.438-44.879-2.328-36.951-9.176-25.257C159.71,482.031,147.332,501.478,147.332,501.478z"/>
|
||||
|
||||
<linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="-764.8928" y1="411.2344" x2="-797.3259" y2="500.5203" gradientTransform="matrix(0.9399 -0.3414 0.3414 0.9399 754.2939 -277.891)">
|
||||
<stop offset="0" style="stop-color:#802986"/>
|
||||
<stop offset="0.2641" style="stop-color:#9D66A2"/>
|
||||
<stop offset="0.528" style="stop-color:#BE9BC2"/>
|
||||
<stop offset="0.7459" style="stop-color:#DBC8DE"/>
|
||||
<stop offset="0.9095" style="stop-color:#F0E6F1"/>
|
||||
<stop offset="1" style="stop-color:#F9F3F8"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_8_)" d="M156.286,463.716l38.825-93.953c0,0,2.251,62.279-11.831,94.992
|
||||
c-0.298-44.25-5.388-28.09-8.538-23.508C165.662,454.416,156.286,463.716,156.286,463.716z"/>
|
||||
|
||||
<linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="-872.7551" y1="422.8174" x2="-924.3751" y2="475.0038" gradientTransform="matrix(0.711 -0.7032 0.7032 0.711 517.3177 -556.6326)">
|
||||
<stop offset="0" style="stop-color:#571A54"/>
|
||||
<stop offset="0.2641" style="stop-color:#7C5378"/>
|
||||
<stop offset="0.528" style="stop-color:#A78AA3"/>
|
||||
<stop offset="0.7459" style="stop-color:#CDBCCB"/>
|
||||
<stop offset="0.9095" style="stop-color:#EAE1E8"/>
|
||||
<stop offset="1" style="stop-color:#F9F3F8"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_9_)" d="M180.916,431.115l9.787-73.404c0,0,18.589,43.111,16.428,71.426
|
||||
c-11.771-30.424-13.671-21.049-17.576-14.961C187.396,417.539,180.916,431.115,180.916,431.115z"/>
|
||||
<path fill="#1E3D73" d="M174.914,335.556L158.76,362.31l-23.24,76.646c0,0,1.211-8.172,1.788-15.883l-18.783,50.772
|
||||
c0,0,8.386-31.227,3.607-28.383c-4.775,2.84,4.227-21.91-23.102,13.73c5.316-18.517,20.495-39.511,33.324-54.9
|
||||
c-2.172,0.473-7.102,4.787-18.388,18.373c4.381-15.232,14.956-32.934,25.357-47.898c-1.159-2.682-5.151-3.889-21.234,5.224
|
||||
C134.366,356.718,174.914,335.556,174.914,335.556z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#F4DFED" d="M94.453,401.164c-49.752,66.752-62.779,117.912-54.719,124.242c8.987,7.059,57.062-29.513,100.989-99.847
|
||||
c31.011-49.655,39.62-74.709,27.879-76.713l13.916-28.053l-7.539-5.318l-24.483,25.623
|
||||
C141.291,332.912,132.531,350.072,94.453,401.164z"/>
|
||||
<path fill="#656B84" d="M90.603,454.464l-28.088,10.205l55.456-49.201l10.331-14.729c0,0,12.047-24.097-27.796,5.559
|
||||
c35.213-47.256,51.892-48.182,51.892-48.182l26.641-39.957l-4.058-2.683l-24.133,23.4c-9.179-8.223-17.989,8.91-56.226,59.885
|
||||
c-49.96,66.601-61.634,109.635-54.889,126.646L90.603,454.464z"/>
|
||||
|
||||
<linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="-752.551" y1="484.6816" x2="-736.7991" y2="395.3488" gradientTransform="matrix(1 0 0 1 858.79 0.3506)">
|
||||
<stop offset="0" style="stop-color:#571A54"/>
|
||||
<stop offset="0.2641" style="stop-color:#7C5378"/>
|
||||
<stop offset="0.528" style="stop-color:#A78AA3"/>
|
||||
<stop offset="0.7459" style="stop-color:#CDBCCB"/>
|
||||
<stop offset="0.9095" style="stop-color:#EAE1E8"/>
|
||||
<stop offset="1" style="stop-color:#F9F3F8"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_10_)" d="M83.829,475.791l61.476-75.98c0,0-14.509,59.306-38.916,85.248
|
||||
c16.678-41.694,12.058-33.366,0-26.873C101.491,460.822,83.829,475.791,83.829,475.791z"/>
|
||||
|
||||
<linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="-727.8064" y1="453.3486" x2="-711.9149" y2="363.2233" gradientTransform="matrix(1 0 0 1 858.79 0.3506)">
|
||||
<stop offset="0" style="stop-color:#571A54"/>
|
||||
<stop offset="0.2641" style="stop-color:#7C5378"/>
|
||||
<stop offset="0.528" style="stop-color:#A78AA3"/>
|
||||
<stop offset="0.7459" style="stop-color:#CDBCCB"/>
|
||||
<stop offset="0.9095" style="stop-color:#EAE1E8"/>
|
||||
<stop offset="1" style="stop-color:#F9F3F8"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_11_)" d="M105.143,443.357l68.562-75.052c0,0-19.143,59.297-43.551,85.248
|
||||
c14.824-41.7,10.567-27.994,0-25.022C124.802,430.041,105.143,443.357,105.143,443.357z"/>
|
||||
<path fill="#656B84" d="M139.423,421.125l34.262-65.654c0,0,2.748,46.867-8.945,72.74c-0.676-32.615-3.041-28.432-11.413-20.061
|
||||
C150.5,410.974,139.423,421.125,139.423,421.125z"/>
|
||||
<path fill="#656B84" d="M166.408,329.255l-24.322,19.631l-48.011,64.111c0,0,3.931-7.273,7.104-14.322L66.185,439.99
|
||||
c0,0,18.552-26.484,13.089-25.449c-5.464,1.041,11.451-19.148-26.399,5.02c11.313-15.588,32.751-30.137,50.064-40.227
|
||||
c-2.205-0.299-8.316,2.076-23.552,10.988c9.312-12.818,25.302-25.842,40.183-36.357c-0.175-2.918-3.515-5.416-21.74-2.346
|
||||
C121.065,335.3,166.408,329.255,166.408,329.255z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#D9AF82" d="M315.05,115.063c-50.514,0-83.218,15.021-109.641,64.839c-2.502,4.713-0.23,14.337-2.796,19.152
|
||||
c-13.845,26.007-37.089,48.236-37.089,71.707c0,34.335,19.1,65.637,42.505,89.296c12.185,71.646,34.7,151.595,104.339,151.595"/>
|
||||
<path fill="#010101" d="M203.271,178.766c-1.521,2.855-1.59,6.774-1.656,10.562c-0.062,3.283-0.123,6.677-1.14,8.588
|
||||
c-4.537,8.519-10.146,16.707-15.577,24.624c-11.21,16.353-21.797,31.798-21.797,48.221c0,30.307,15.166,62.38,42.666,90.412
|
||||
c12.578,73.607,36.113,150.479,106.6,150.479v-1.547c-67.084,0-89.722-78.556-101.95-150.453l-0.127-0.748l-0.54-0.549
|
||||
c-26.957-27.257-41.805-58.361-41.805-87.594c0-14.923,10.174-29.766,20.949-45.482c5.501-8.027,11.19-16.327,15.855-25.087
|
||||
c1.562-2.935,1.638-6.92,1.707-10.773c0.059-3.221,0.118-6.551,1.088-8.381c24.258-45.734,54.398-65.974,107.503-65.974v-2.422
|
||||
C259.849,112.641,228.506,131.181,203.271,178.766z"/>
|
||||
</g>
|
||||
<path fill="#8B654B" d="M312.368,511.65c72.045,0,92.163-79.949,104.338-151.595c23.405-23.657,42.514-54.959,42.514-89.296
|
||||
c0-37.004-22.588-49.51-38.609-77.154c-5.681-9.798-1.496-24.634-8.084-33.382c-26.905-35.728-53.772-45.162-97.477-45.162"/>
|
||||
<ellipse fill="#D9AF82" cx="313.792" cy="343.947" rx="21.906" ry="68.144"/>
|
||||
<path fill="#8B654B" d="M342.916,373.455c0,7.812-14.979,12.535-27.273,12.535c-12.293,0-27.81-4.736-27.81-12.549
|
||||
c3.432-3.433,15.246,4.885,27.544,4.885C334.789,378.326,342.916,312.496,342.916,373.455z"/>
|
||||
<path fill="#D9AF82" d="M335.697,435.216c0,37.637-9.81,68.832-21.91,68.832c-12.096,0-21.899-31.195-21.899-68.832
|
||||
c0-37.639,9.882-50.258,21.977-50.258C325.962,384.958,335.697,397.578,335.697,435.216z"/>
|
||||
<path opacity="0.36" fill="#8A644B" enable-background="new " d="M328.365,281.605c-1.826,24.682-14.186-7.573-34.757,20.975
|
||||
c-8.672,12.025-23.23,10.877-38.845,10.877c-39.61,0-66.544-26.031-67.859-38.869c-2.517-24.557,29.024-39.586,71.464-39.586
|
||||
C297.028,235.002,329.255,269.622,328.365,281.605z"/>
|
||||
<linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="-644.0354" y1="340.7031" x2="-568.3508" y2="340.7031" gradientTransform="matrix(1 0 0 1 858.79 0.3506)">
|
||||
<stop offset="0" style="stop-color:#D9AF82"/>
|
||||
<stop offset="0.0786" style="stop-color:#DFB791"/>
|
||||
<stop offset="0.2053" style="stop-color:#E7C1A5"/>
|
||||
<stop offset="0.345" style="stop-color:#EDC9B5"/>
|
||||
<stop offset="0.5023" style="stop-color:#F1CFC0"/>
|
||||
<stop offset="0.6917" style="stop-color:#F4D3C7"/>
|
||||
<stop offset="1" style="stop-color:#F5D4C9"/>
|
||||
</linearGradient>
|
||||
<path opacity="0.36" fill="url(#SVGID_12_)" enable-background="new " d="M272.246,361.529
|
||||
c-28.722,19.461-56.346-24.299-57.491-43.314c15.913,13.822,62.032,18.457,75.685-2.516L272.246,361.529z"/>
|
||||
<path opacity="0.36" fill="#8A644B" enable-background="new " d="M313.706,461.212c-38.167,0-61.229-13.68-61.229-31.629
|
||||
c0-6.049,15.649-24.078,37.318-49.365c5.952-3.699,7.464,10.037,14.958,4.73C331.61,392.044,328.318,461.212,313.706,461.212z"/>
|
||||
<g>
|
||||
<path fill="#8A644B" d="M260.464,472.117c8.341,23.938,32.817,36.465,52.688,36.465v-4.844
|
||||
C294.99,503.738,268.056,493.921,260.464,472.117L260.464,472.117z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#8A644B" d="M180.954,271.658c0,21.359,5.388,36.679,27.101,48.222c0.587,1.121,7.021,13.387,7.021,13.387
|
||||
c8.916,16.375,19.021,34.939,19.021,54.406h4.844c0-20.699-10.416-39.84-19.612-56.725l-7.586-14.455l-0.709-0.426
|
||||
C190.51,305.4,180.954,291.289,180.954,271.658L180.954,271.658z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#010101" d="M208.814,230.649l-0.104-0.97c-3.106-15.25-3.226-33.651-0.312-49.217l-4.764-0.889
|
||||
C200.613,195.722,205.583,214.815,208.814,230.649z"/>
|
||||
</g>
|
||||
<linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="-667.7327" y1="310.1709" x2="-407.218" y2="310.1709" gradientTransform="matrix(1 0 0 1 858.79 0.3506)">
|
||||
<stop offset="0" style="stop-color:#5B3E1D"/>
|
||||
<stop offset="1" style="stop-color:#010101"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_13_)" d="M423.943,199.054c-3.983-11.059-0.737-20.853-8.062-31.231
|
||||
c-19.885-28.185-51.07-56.271-108.998-52.618l5.214,140.363c0,0-122.733-25.589-121.021,15.935c0.229,5.387,40.188,2.88,63.46,4.428
|
||||
c-26.092,4.566-32.185,5.898-32.185,8.838c0,6.206,21.861,0.683,25.106,2.467c4.978,2.739-43.139,7.052-34.351,8.757
|
||||
c10.057,1.951,44.474,3.086,57.442,3.086c28.931,0,41.077-25.413,41.077-4.485c7.348,27.894,14.739,59.239,13.974,69.882
|
||||
c-1.477,20.661-19.62,20.188-19.62,20.188l5.089,24.285c-8.557,0.438-6.245-1.324-13.85-0.549c-14.429,0-32.354,13.03-32.354,16.055
|
||||
l39.989,0.434c0,0-29.081,13.771-22.977,22.931c4.765,7.143,20.316,13.377,31.093,13.424c0,0,3.271,8.549,3.271,22.352
|
||||
c0,13.812-4.035,22.564-4.035,22.564c46.171,0,67.49-49.035,80.324-118.445c6.083-32.877,20.018-58.104,36.034-71.658
|
||||
c15.742-13.319,23.008-26.64,23.008-52.07C451.577,249.847,443.574,230.354,423.943,199.054z"/>
|
||||
<path fill="#D9AF82" d="M325.395,252.416l-13.297,4.328c0,0-65.85-96.356-46.493-121.312c12.682-16.357,24.609-18.136,40.046-19.238
|
||||
c13.519-0.965,21.294,16.525,27.302,24.271C350.375,162.927,325.395,252.416,325.395,252.416z"/>
|
||||
<linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="-629.0159" y1="50.6562" x2="-540.175" y2="50.6562" gradientTransform="matrix(0.676 0.6564 -0.9247 0.9523 711.8302 511.1852)">
|
||||
<stop offset="0" style="stop-color:#FFFFFF"/>
|
||||
<stop offset="0.0769" style="stop-color:#F4E9DD"/>
|
||||
<stop offset="0.1814" style="stop-color:#EBD6BF"/>
|
||||
<stop offset="0.2951" style="stop-color:#E5C7A8"/>
|
||||
<stop offset="0.419" style="stop-color:#DFBC96"/>
|
||||
<stop offset="0.5585" style="stop-color:#DCB58B"/>
|
||||
<stop offset="0.7265" style="stop-color:#DAB084"/>
|
||||
<stop offset="1" style="stop-color:#D9AF82"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_14_)" d="M305.253,199.27c-26.745,27.542-70.168,41.961-81.281,24.357
|
||||
c-14.515-22.972-12.896-47.545,13.854-75.082c26.74-27.547,64.922-33.847,85.28-14.081
|
||||
C343.464,154.233,332.003,171.726,305.253,199.27z"/>
|
||||
<linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="-617.7107" y1="401.4551" x2="-617.7107" y2="317.8633" gradientTransform="matrix(1 0 0 1 858.79 0.3506)">
|
||||
<stop offset="0" style="stop-color:#D9AF82"/>
|
||||
<stop offset="0.1127" style="stop-color:#BD936E"/>
|
||||
<stop offset="0.2679" style="stop-color:#A57C5E"/>
|
||||
<stop offset="0.4437" style="stop-color:#966E53"/>
|
||||
<stop offset="0.6554" style="stop-color:#8D664D"/>
|
||||
<stop offset="1" style="stop-color:#8A644B"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_15_)" d="M272.246,361.529c0,46.272-35.419,42.799-45.104,36.896c0-45.752-17.229-80.211-17.229-80.211
|
||||
S249.882,354.22,272.246,361.529z"/>
|
||||
<linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="-925.8547" y1="344.666" x2="-972.7458" y2="361.7328" gradientTransform="matrix(-1 0 0 1 -562.3931 0.3506)">
|
||||
<stop offset="0" style="stop-color:#382815"/>
|
||||
<stop offset="0.4081" style="stop-color:#553E2B"/>
|
||||
<stop offset="1" style="stop-color:#8B654B"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_16_)" d="M359.338,356.349c0,46.271,21.506,44.033,31.073,44.033c7.488-45.135,35.671-81.516,35.671-81.516
|
||||
S381.703,349.044,359.338,356.349z"/>
|
||||
<path fill="none" stroke="#010101" stroke-width="4.8437" d="M173.934,294.978"/>
|
||||
<g>
|
||||
<path fill="#010101" d="M311.507,115.089c53.106,0,83.247,20.214,107.505,65.948c0.902,1.702,0.902,4.883,0.902,7.96
|
||||
c-0.005,4.146-0.005,8.432,2.029,11.419c16.157,23.757,31.934,48.809,31.934,70.969c0,32.38-12.817,62.458-37.073,86.969
|
||||
l-0.541,0.551l-0.13,0.748c-12.222,71.897-36.672,150.451-103.765,150.451v1.518c70.499,0,95.847-76.844,108.416-150.455
|
||||
c24.803-25.336,37.937-56.355,37.937-89.781c0-23.537-16.19-49.311-32.774-73.694c-1.151-1.698-1.19-5.061-1.19-8.37
|
||||
c0-0.109,0.004-0.537,0.004-0.646c0-3.567-0.041-7.221-1.471-9.91C398.053,131.18,366.71,112.64,311.51,112.64v2.449H311.507
|
||||
L311.507,115.089z"/>
|
||||
</g>
|
||||
<polygon fill="#010101" points="339.974,84.79 334.59,115.675 300.608,113.719 312.435,66.413 "/>
|
||||
<circle fill="#010101" stroke="#010101" stroke-width="4.8437" cx="452.06" cy="492.948" r="19.204"/>
|
||||
<g>
|
||||
|
||||
<linearGradient id="SVGID_17_" gradientUnits="userSpaceOnUse" x1="-749.6116" y1="335.9512" x2="-687.9983" y2="335.9512" gradientTransform="matrix(1 0 0 1 858.79 0.3506)">
|
||||
<stop offset="0" style="stop-color:#571A54"/>
|
||||
<stop offset="0.2641" style="stop-color:#7C5378"/>
|
||||
<stop offset="0.528" style="stop-color:#A78AA3"/>
|
||||
<stop offset="0.7459" style="stop-color:#CDBCCB"/>
|
||||
<stop offset="0.9095" style="stop-color:#EAE1E8"/>
|
||||
<stop offset="1" style="stop-color:#F9F3F8"/>
|
||||
</linearGradient>
|
||||
<path fill="url(#SVGID_17_)" d="M109.178,338.035c9.592-7.824,34.694,4.861,34.833,4.861l26.78-8.396
|
||||
C170.211,334.501,120.246,321.648,109.178,338.035z"/>
|
||||
</g>
|
||||
<linearGradient id="SVGID_18_" gradientUnits="userSpaceOnUse" x1="-1081.0227" y1="320.6133" x2="-1063.3801" y2="320.6133" gradientTransform="matrix(-0.0113 -0.7169 1.2476 -0.0198 -98.6661 -397.1379)">
|
||||
<stop offset="0" style="stop-color:#D9AF82"/>
|
||||
<stop offset="0.0786" style="stop-color:#DFB791"/>
|
||||
<stop offset="0.2053" style="stop-color:#E7C1A5"/>
|
||||
<stop offset="0.345" style="stop-color:#EDC9B5"/>
|
||||
<stop offset="0.5023" style="stop-color:#F1CFC0"/>
|
||||
<stop offset="0.6917" style="stop-color:#F4D3C7"/>
|
||||
<stop offset="1" style="stop-color:#F5D4C9"/>
|
||||
</linearGradient>
|
||||
<path opacity="0.36" fill="url(#SVGID_18_)" enable-background="new " d="M313.352,358.851c6.074-0.1,11.045,2.654,11.102,6.15
|
||||
c0.06,3.49-4.829,6.398-10.907,6.498c-6.076,0.1-11.045-2.658-11.105-6.154C302.388,361.853,307.269,358.947,313.352,358.851z"/>
|
||||
<path fill="#483218" d="M397.109,309.378c15.699-3.76,26.445-18.402,20.099-27.063c-38.738,19.354-75.295,11.369-85.529,9.147
|
||||
C368.014,309.492,371.117,315.595,397.109,309.378z"/>
|
||||
<path fill="#B4B4B4" d="M310.92,73.714c-38.372,0-93.116,22.758-117.549,74.944c-6.089,12.999-6.656,32.87,0.64,45.014
|
||||
c0,0,18.604-81.43,108.229-86.494"/>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
version="1.1"
|
||||
id="Layer_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="606.2478"
|
||||
height="595.49866"
|
||||
viewBox="0 0 606.24779 595.49863"
|
||||
enable-background="new 0 0 841.89 595.28"
|
||||
xml:space="preserve"
|
||||
inkscape:version="0.48.2 r9819"
|
||||
sodipodi:docname="tomahawk-icon.svg"><metadata
|
||||
id="metadata15"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs13" /><sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1440"
|
||||
inkscape:window-height="794"
|
||||
id="namedview11"
|
||||
showgrid="false"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="431.12548"
|
||||
inkscape:cy="336.94553"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="Layer_1"
|
||||
inkscape:snap-page="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"><sodipodi:guide
|
||||
position="-3.5728101e-05,-1.501866e-05"
|
||||
orientation="0,841.89001"
|
||||
id="guide2994" /><sodipodi:guide
|
||||
position="841.88997,-1.501866e-05"
|
||||
orientation="-595.28003,0"
|
||||
id="guide2996" /><sodipodi:guide
|
||||
position="841.88997,595.28001"
|
||||
orientation="0,-841.89001"
|
||||
id="guide2998" /><sodipodi:guide
|
||||
position="-3.5728101e-05,595.28001"
|
||||
orientation="595.28003,0"
|
||||
id="guide3000" /></sodipodi:namedview>
|
||||
<g
|
||||
id="g3"
|
||||
transform="matrix(7.3080643,0,0,7.1790074,-2773.1692,-1839.0104)">
|
||||
<g
|
||||
id="g5">
|
||||
<path
|
||||
d="m 420.947,265.168 c -17.911,0 -32.477,14.565 -32.477,32.472 0,17.906 14.565,32.476 32.477,32.476 2.568,0 5.06,-0.318 7.459,-0.888 v -28.011 l -22.338,15.806 c -0.198,0.135 -0.444,0.213 -0.681,0.213 -0.184,0 -0.372,-0.039 -0.541,-0.136 -0.396,-0.202 -0.642,-0.608 -0.642,-1.043 v -37.053 c 0,-0.435 0.246,-0.845 0.642,-1.053 0.396,-0.193 0.864,-0.159 1.222,0.092 l 22.338,15.807 v -16.028 h 0.951 8.945 v 47.234 c 9.076,-5.764 15.121,-15.888 15.121,-27.417 10e-4,-17.905 -14.569,-32.471 -32.476,-32.471 z"
|
||||
id="path7"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:none" />
|
||||
<path
|
||||
d="m 420.947,256.165 c -22.874,0 -41.48,18.606 -41.48,41.475 0,22.87 18.606,41.475 41.48,41.475 22.869,0 41.476,-18.605 41.476,-41.475 0,-22.869 -18.607,-41.475 -41.476,-41.475 z m 17.356,68.892 v -47.234 h -8.945 -0.951 v 16.028 l -22.338,-15.807 c -0.357,-0.251 -0.826,-0.285 -1.222,-0.092 -0.396,0.208 -0.642,0.618 -0.642,1.053 v 37.053 c 0,0.435 0.246,0.841 0.642,1.043 0.169,0.097 0.357,0.136 0.541,0.136 0.236,0 0.482,-0.078 0.681,-0.213 l 22.338,-15.806 v 28.011 c -2.399,0.569 -4.891,0.888 -7.459,0.888 -17.911,0 -32.477,-14.57 -32.477,-32.476 0,-17.906 14.565,-32.472 32.477,-32.472 17.906,0 32.477,14.565 32.477,32.472 -0.001,11.528 -6.046,21.652 -15.122,27.416 z"
|
||||
id="path9"
|
||||
inkscape:connector-curvature="0"
|
||||
style="fill:#e63e30" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 68 KiB |
BIN
data/images/album-placeholder-grid.png
Normal file
After Width: | Height: | Size: 260 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
BIN
data/images/artist-placeholder-grid.png
Normal file
After Width: | Height: | Size: 260 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 339 B |
Before Width: | Height: | Size: 286 B |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 68 KiB |
BIN
data/images/closed-padlock.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 3.5 KiB |
BIN
data/images/collection.png
Normal file
After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
BIN
data/images/grooveshark.png
Normal file
After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.0 KiB |
BIN
data/images/jump-link.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
data/images/lastfm-icon.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 68 KiB |
BIN
data/images/new-releases.png
Normal file
After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 12 KiB |
BIN
data/images/open-padlock.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
data/images/playlist-header-tiled.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 68 KiB |
BIN
data/images/scrollbar-horizontal-handle.png
Normal file
After Width: | Height: | Size: 397 B |
BIN
data/images/scrollbar-vertical-handle.png
Normal file
After Width: | Height: | Size: 376 B |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 68 KiB |
BIN
data/images/spotifycore-logo.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
BIN
data/images/track-icon-sidebar.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
data/images/track-icon.png
Normal file
After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
@@ -2,7 +2,7 @@
|
||||
// if run in phantomjs add fake Tomahawk environment
|
||||
if(window.Tomahawk === undefined)
|
||||
{
|
||||
alert("PHANTOMJS ENVIRONMENT");
|
||||
// alert("PHANTOMJS ENVIRONMENT");
|
||||
var Tomahawk = {
|
||||
fakeEnv: function()
|
||||
{
|
||||
|
20
data/misc/tomahawk_pubkey.pem
Normal file
@@ -0,0 +1,20 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MIIDOzCCAi0GByqGSM44BAEwggIgAoIBAQDRltnNbKWFroVCsG1nTSdlTDmo7fjl
|
||||
tgOuQ0YB2s0a1bcqgQ5YJRE59pFvF/z2pkHEHdyBA6USd9N7/T9lolwNcJoByJpO
|
||||
MobUNs04elqZXliriaAdoSb2g6ZpxiedppbbyNP/BlK6o+zpyn0LVYXDI/OwJFzS
|
||||
xjGXM+rBEWdUJnogZxV31gF9W3yD1Quz6icBulT9V/Soo6me9Mc60ooKSYj4Zgqd
|
||||
3ln8tG90RFnWfbb0nbrITvR3ll6XXLfn081tjhymcXqHcgvaaqcmpKWL6ZWwX1mH
|
||||
3t1pImnif/tSSZPG21KGE3FtuQ/+YFo19apQ6U6l8kaSFxqcDLAYzBy9AhUA/QfN
|
||||
8WEIvzOEZ9uSWT7lYy64mUkCggEABsUmcs3kwjrmszIAAmPIowA0DBrxWZL03JBV
|
||||
bDKT6tNHZaFFlCufVSjiL1EFZjRARC16OWYaDcElUsZYFMcsNIIa8LyDQaq6+SSm
|
||||
quhMO5heeJiYPrutDiJzbJr0+HoY77Ll+Q4/cEkl0UAN4Ovp18WKwaq6GpHAvBnv
|
||||
71LunLGAKsVb5joXBQ8In6zQkibJhgiBJwzLK90/j0OTiDaaOwM3PsAegORBVlVE
|
||||
TAk4AQmawmF8nBGLzTyKXl83J571ku1Mm2JTl16jMYziKARKXYBmkcP1at0YddVK
|
||||
WWpAwRKSxOucVJYfV58JqmjZqst8BBeH6esQKr5dklUvvDMaEwOCAQYAAoIBAQCw
|
||||
5mo+8/R3S9cNYg9o8JNJGdSbMhSkurILHh9WNElsIC3RNtPcpijmAnWtXTVDhe6w
|
||||
77wLj37tUuFGbsu2qPXtZoup35emf9DDshZ5w5UOclPaZ9HYjlC1H64c6d66Rllk
|
||||
fY6FRDv9qVfjT84APbvMDrk6csJ5YHxFPDaqeQaFB0nxFiCMVwjEx+ZSvQNK1jJ2
|
||||
o2gtuOvSPVSphsMeJ72DDNxO+SRRVnOmWaxg9rlmFuGle6Z+UJ2FItfmPEvhSBMY
|
||||
hzndUbC7Wi4sIpBzbm9O5MiPYMv0VmN+0t1156EiC9uR4f7AKH2S94dnQob/YeY0
|
||||
jMH+XxU/wzGUCmsOx1lx
|
||||
-----END PUBLIC KEY-----
|
@@ -1,4 +1,4 @@
|
||||
-- Script to migate from db version 6 to 27
|
||||
-- Script to migate from db version 26 to 27
|
||||
-- Nothing to do
|
||||
|
||||
CREATE TABLE IF NOT EXISTS collection_attributes (
|
||||
|
7
data/sql/dbmigrate-27_to_28.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
-- Script to migate from db version 27 to 28.
|
||||
-- Added albumartist and discnumber to file_join
|
||||
|
||||
ALTER TABLE file_join ADD COLUMN composer INTEGER REFERENCES artist(id) ON DELETE CASCADE ON UPDATE CASCADE DEFERRABLE INITIALLY DEFERRED;
|
||||
ALTER TABLE file_join ADD COLUMN discnumber INTEGER;
|
||||
|
||||
UPDATE settings SET v = '28' WHERE k == 'schema_version';
|
@@ -43,8 +43,8 @@
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<a href="http://www.playdar.org/" title="Tomahawk - Powered by Playdar" id="head">
|
||||
<img alt="Tomahawk - Powered by Playdar" src="/staticdata/tomahawk_auth_logo.png" width="196" height="45"/>
|
||||
<a href="http://www.tomahawk-player.org" title="Tomahawk - Powered by Playdar" id="head">
|
||||
<img alt="Tomahawk - Powered by Playdar" src="/staticdata/tomahawk_auth_logo.png" width="200" height="30">
|
||||
</a>
|
||||
|
||||
<div id="content">
|
||||
|
@@ -32,8 +32,8 @@
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<a href="http://www.gettomahawk.com/" title="Tomahawk - Powered by Playdar" id="head">
|
||||
<img alt="Tomahawk - Powered by Playdar" src="/staticdata/tomahawk_auth_logo.png" width="196" height="45"/>
|
||||
<a href="http://www.tomahawk-player.org" title="Tomahawk - Powered by Playdar" id="head">
|
||||
<img alt="Tomahawk - Powered by Playdar" src="/staticdata/tomahawk_auth_logo.png" width="200" height="30">
|
||||
</a>
|
||||
|
||||
<div id="content">
|
||||
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 27 KiB |
3962
lang/tomahawk_ar.ts
Normal file
3971
lang/tomahawk_bg.ts
Normal file
3959
lang/tomahawk_ca.ts
Normal file
3720
lang/tomahawk_de.ts
4112
lang/tomahawk_en.ts
3961
lang/tomahawk_es.ts
Normal file
3964
lang/tomahawk_fr.ts
Normal file
@@ -1,5 +1,15 @@
|
||||
<!DOCTYPE RCC><RCC version="1.0">
|
||||
<qresource prefix="/lang">
|
||||
<file>tomahawk_en.qm</file>
|
||||
<file>tomahawk_bg.qm</file>
|
||||
<file>tomahawk_de.qm</file>
|
||||
<file>tomahawk_fr.qm</file>
|
||||
<file>tomahawk_pl.qm</file>
|
||||
<file>tomahawk_pt_BR.qm</file>
|
||||
<file>tomahawk_ru.qm</file>
|
||||
<file>tomahawk_es.qm</file>
|
||||
<file>tomahawk_sv.qm</file>
|
||||
<file>tomahawk_ja.qm</file>
|
||||
<file>tomahawk_ar.qm</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
3947
lang/tomahawk_ja.ts
Normal file
3954
lang/tomahawk_pl.ts
Normal file
3954
lang/tomahawk_pt_BR.ts
Normal file
3953
lang/tomahawk_ru.ts
Normal file
3937
lang/tomahawk_sv.ts
Normal file
3936
lang/tomahawk_tr.ts
Normal file
3936
lang/tomahawk_zh_CN.ts
Normal file
3936
lang/tomahawk_zh_TW.ts
Normal file
@@ -1,25 +1,48 @@
|
||||
FILE (GLOB TS_FILES ${CMAKE_SOURCE_DIR}/lang/*.ts)
|
||||
QT4_ADD_TRANSLATION(QM_FILES ${TS_FILES})
|
||||
macro(add_tomahawk_translations language)
|
||||
list(APPEND TOMAHAWK_LANGUAGES ${ARGV})
|
||||
|
||||
## HACK HACK HACK - around rcc limitations to allow out of source-tree building
|
||||
SET( trans_file tomahawk_i18n )
|
||||
SET( trans_srcfile ${CMAKE_SOURCE_DIR}/lang/${trans_file}.qrc)
|
||||
SET( trans_infile ${CMAKE_CURRENT_BINARY_DIR}/${trans_file}.qrc)
|
||||
SET( trans_outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${trans_file}.cxx)
|
||||
set(tomahawk_i18n_qrc_content "<!DOCTYPE RCC><RCC version=\"1.0\">\n")
|
||||
|
||||
# Copy the QRC file to the output directory
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${trans_infile}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${trans_srcfile} ${trans_infile}
|
||||
MAIN_DEPENDENCY ${trans_srcfile}
|
||||
)
|
||||
# tomahawk and qt language files
|
||||
set(tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}<qresource prefix=\"/lang\">\n")
|
||||
foreach(lang ${TOMAHAWK_LANGUAGES})
|
||||
set(tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}<file>tomahawk_${lang}.qm</file>\n")
|
||||
if(NOT lang STREQUAL "en" AND EXISTS ${QT_TRANSLATIONS_DIR}/qt_${lang}.qm)
|
||||
file(COPY ${QT_TRANSLATIONS_DIR}/qt_${lang}.qm DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
||||
set(tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}<file>qt_${lang}.qm</file>\n")
|
||||
endif()
|
||||
|
||||
# Run the resource compiler (rcc_options should already be set)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${trans_outfile}
|
||||
COMMAND ${QT_RCC_EXECUTABLE}
|
||||
ARGS ${rcc_options} -name ${trans_file} -o ${trans_outfile} ${trans_infile}
|
||||
MAIN_DEPENDENCY ${trans_infile}
|
||||
DEPENDS ${QM_FILES}
|
||||
)
|
||||
# build explicitly enabled languages
|
||||
list(APPEND TS_FILES "${CMAKE_SOURCE_DIR}/lang/tomahawk_${lang}.ts")
|
||||
endforeach()
|
||||
|
||||
set(tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}</qresource>\n")
|
||||
set(tomahawk_i18n_qrc_content "${tomahawk_i18n_qrc_content}</RCC>\n")
|
||||
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/lang/tomahawk_i18n.qrc "${tomahawk_i18n_qrc_content}" )
|
||||
|
||||
QT4_ADD_TRANSLATION(QM_FILES ${TS_FILES})
|
||||
|
||||
## HACK HACK HACK - around rcc limitations to allow out of source-tree building
|
||||
SET( trans_file tomahawk_i18n )
|
||||
SET( trans_srcfile ${CMAKE_BINARY_DIR}/lang/${trans_file}.qrc)
|
||||
SET( trans_infile ${CMAKE_CURRENT_BINARY_DIR}/${trans_file}.qrc)
|
||||
SET( trans_outfile ${CMAKE_CURRENT_BINARY_DIR}/qrc_${trans_file}.cxx)
|
||||
|
||||
# Copy the QRC file to the output directory
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${trans_infile}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${trans_srcfile} ${trans_infile}
|
||||
MAIN_DEPENDENCY ${trans_srcfile}
|
||||
)
|
||||
|
||||
# Run the resource compiler (rcc_options should already be set)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${trans_outfile}
|
||||
COMMAND ${QT_RCC_EXECUTABLE}
|
||||
ARGS ${rcc_options} -name ${trans_file} -o ${trans_outfile} ${trans_infile}
|
||||
MAIN_DEPENDENCY ${trans_infile}
|
||||
DEPENDS ${QM_FILES}
|
||||
)
|
||||
endmacro()
|
||||
|
||||
|
@@ -1,7 +1,5 @@
|
||||
<RCC>
|
||||
<qresource prefix="/">
|
||||
<file>data/images/avatar-dude-plus.png</file>
|
||||
<file>data/images/avatar-dude.png</file>
|
||||
<file>data/images/back-pressed.png</file>
|
||||
<file>data/images/back-rest.png</file>
|
||||
<file>data/images/filter.png</file>
|
||||
@@ -9,6 +7,8 @@
|
||||
<file>data/images/not-loved.png</file>
|
||||
<file>data/images/no-album-art-placeholder.png</file>
|
||||
<file>data/images/no-artist-image-placeholder.png</file>
|
||||
<file>data/images/artist-placeholder-grid.png</file>
|
||||
<file>data/images/album-placeholder-grid.png</file>
|
||||
<file>data/images/track-placeholder.png</file>
|
||||
<file>data/images/now-playing-panel.png</file>
|
||||
<file>data/images/now-playing-speaker.png</file>
|
||||
@@ -66,12 +66,10 @@
|
||||
<file>data/images/echonest_logo.png</file>
|
||||
<file>data/images/loading-animation.gif</file>
|
||||
<file>data/images/info.png</file>
|
||||
<file>data/images/home.png</file>
|
||||
<file>data/images/back.png</file>
|
||||
<file>data/images/forward.png</file>
|
||||
<file>data/images/music-icon.png</file>
|
||||
<file>data/images/configure.png</file>
|
||||
<file>data/images/create-playlist.png</file>
|
||||
<file>data/images/private-listening.png</file>
|
||||
<file>data/images/add.png</file>
|
||||
<file>data/images/recently-played.png</file>
|
||||
@@ -87,6 +85,7 @@
|
||||
<file>data/images/station.png</file>
|
||||
<file>data/images/new-additions.png</file>
|
||||
<file>data/images/charts.png</file>
|
||||
<file>data/images/new-releases.png</file>
|
||||
<file>data/images/loved_playlist.png</file>
|
||||
<file>data/images/dashboard.png</file>
|
||||
<file>data/images/artist-icon.png</file>
|
||||
@@ -128,8 +127,24 @@
|
||||
<file>data/images/headphones.png</file>
|
||||
<file>data/images/headphones-off.png</file>
|
||||
<file>data/images/headphones-sidebar.png</file>
|
||||
<file>data/images/closed-padlock.png</file>
|
||||
<file>data/images/open-padlock.png</file>
|
||||
<file>data/images/headphones-bigger.png</file>
|
||||
<file>data/images/no-album-no-case.png</file>
|
||||
<file>data/images/rdio.png</file>
|
||||
<file>data/images/grooveshark.png</file>
|
||||
<file>data/images/lastfm-icon.png</file>
|
||||
<file>data/images/spotifycore-logo.png</file>
|
||||
<file>data/images/playlist-header-tiled.png</file>
|
||||
<file>data/images/share.png</file>
|
||||
<file>data/sql/dbmigrate-27_to_28.sql</file>
|
||||
<file>data/images/process-stop.png</file>
|
||||
<file>data/icons/tomahawk-icon-128x128-grayscale.png</file>
|
||||
<file>data/images/collection.png</file>
|
||||
<file>data/misc/tomahawk_pubkey.pem</file>
|
||||
<file>data/images/track-icon-sidebar.png</file>
|
||||
<file>data/images/jump-link.png</file>
|
||||
<file>data/images/scrollbar-vertical-handle.png</file>
|
||||
<file>data/images/scrollbar-horizontal-handle.png</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
@@ -1,6 +1,7 @@
|
||||
/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
|
||||
*
|
||||
* Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
|
||||
* Copyright 2010-2011, Jeff Mitchell <jeff@tomahawk-player.org>
|
||||
*
|
||||
* Tomahawk is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -16,35 +17,36 @@
|
||||
* along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "audiocontrols.h"
|
||||
#include "ui_audiocontrols.h"
|
||||
#include "AudioControls.h"
|
||||
#include "ui_AudioControls.h"
|
||||
|
||||
#include <QtNetwork/QNetworkReply>
|
||||
#include <QtGui/QDropEvent>
|
||||
#include <QtGui/QMouseEvent>
|
||||
|
||||
#include "audio/audioengine.h"
|
||||
#include "playlist/playlistview.h"
|
||||
#include "database/database.h"
|
||||
#include "database/databasecommand_socialaction.h"
|
||||
#include "widgets/imagebutton.h"
|
||||
#include "utils/tomahawkutils.h"
|
||||
#include "utils/logger.h"
|
||||
#include "album.h"
|
||||
#include "dropjob.h"
|
||||
#include "globalactionmanager.h"
|
||||
#include "viewmanager.h"
|
||||
#include "audio/AudioEngine.h"
|
||||
#include "playlist/PlaylistView.h"
|
||||
#include "database/Database.h"
|
||||
#include "widgets/ImageButton.h"
|
||||
#include "utils/TomahawkUtilsGui.h"
|
||||
#include "utils/Logger.h"
|
||||
#include "Album.h"
|
||||
#include "DropJob.h"
|
||||
#include "SocialWidget.h"
|
||||
#include "GlobalActionManager.h"
|
||||
#include "ViewManager.h"
|
||||
#include "Source.h"
|
||||
|
||||
using namespace Tomahawk;
|
||||
|
||||
static QString s_acInfoIdentifier = QString( "AUDIOCONTROLS" );
|
||||
|
||||
|
||||
AudioControls::AudioControls( QWidget* parent )
|
||||
: QWidget( parent )
|
||||
, ui( new Ui::AudioControls )
|
||||
, m_repeatMode( PlaylistInterface::NoRepeat )
|
||||
, m_repeatMode( PlaylistModes::NoRepeat )
|
||||
, m_shuffled( false )
|
||||
, m_lastSliderCheck( 0 )
|
||||
, m_parent( parent )
|
||||
{
|
||||
ui->setupUi( this );
|
||||
setAcceptDrops( true );
|
||||
@@ -52,13 +54,10 @@ AudioControls::AudioControls( QWidget* parent )
|
||||
QFont font( ui->artistTrackLabel->font() );
|
||||
font.setPixelSize( 12 );
|
||||
|
||||
#ifdef Q_WS_MAC
|
||||
font.setPixelSize( font.pixelSize() - 2 );
|
||||
#endif
|
||||
|
||||
ui->artistTrackLabel->setFont( font );
|
||||
ui->artistTrackLabel->setElideMode( Qt::ElideMiddle );
|
||||
ui->artistTrackLabel->setType( QueryLabel::ArtistAndTrack );
|
||||
ui->artistTrackLabel->setJumpLinkVisible( true );
|
||||
|
||||
ui->albumLabel->setFont( font );
|
||||
ui->albumLabel->setType( QueryLabel::Album );
|
||||
@@ -83,8 +82,12 @@ AudioControls::AudioControls( QWidget* parent )
|
||||
ui->repeatButton->setPixmap( RESPATH "images/repeat-off-pressed.png", QIcon::Off, QIcon::Active );
|
||||
ui->volumeLowButton->setPixmap( RESPATH "images/volume-icon-muted.png" );
|
||||
ui->volumeHighButton->setPixmap( RESPATH "images/volume-icon-full.png" );
|
||||
ui->socialButton->setPixmap( RESPATH "images/share.png" );
|
||||
ui->loveButton->setPixmap( RESPATH "images/not-loved.png" );
|
||||
ui->loveButton->setCheckable( true );
|
||||
|
||||
ui->socialButton->setFixedSize( QSize( 20, 20 ) );
|
||||
ui->loveButton->setFixedSize( QSize( 20, 20 ) );
|
||||
|
||||
#ifdef Q_WS_MAC
|
||||
ui->ownerLabel->setForegroundRole( QPalette::Text );
|
||||
@@ -94,12 +97,13 @@ AudioControls::AudioControls( QWidget* parent )
|
||||
ui->metaDataArea->setStyleSheet( "QWidget#metaDataArea {\nborder-width: 4px;\nborder-image: url(" RESPATH "images/now-playing-panel.png) 4 4 4 4 stretch stretch; }" );
|
||||
|
||||
ui->seekSlider->setEnabled( true );
|
||||
ui->seekSlider->setTimeLine( &m_sliderTimeLine );
|
||||
ui->volumeSlider->setRange( 0, 100 );
|
||||
ui->volumeSlider->setValue( AudioEngine::instance()->volume() );
|
||||
|
||||
m_sliderTimeLine.setCurveShape( QTimeLine::LinearCurve );
|
||||
ui->seekSlider->setTimeLine( &m_sliderTimeLine );
|
||||
m_phononTickCheckTimer.setSingleShot( true );
|
||||
|
||||
connect( &m_phononTickCheckTimer, SIGNAL( timeout() ), SLOT( phononTickCheckTimeout() ) );
|
||||
connect( &m_sliderTimeLine, SIGNAL( frameChanged( int ) ), ui->seekSlider, SLOT( setValue( int ) ) );
|
||||
|
||||
connect( ui->seekSlider, SIGNAL( valueChanged( int ) ), AudioEngine::instance(), SLOT( seek( int ) ) );
|
||||
@@ -111,15 +115,16 @@ AudioControls::AudioControls( QWidget* parent )
|
||||
connect( ui->volumeLowButton, SIGNAL( clicked() ), AudioEngine::instance(), SLOT( lowerVolume() ) );
|
||||
connect( ui->volumeHighButton, SIGNAL( clicked() ), AudioEngine::instance(), SLOT( raiseVolume() ) );
|
||||
|
||||
connect( ui->playPauseButton, SIGNAL( clicked() ), this, SIGNAL( playPressed() ) );
|
||||
connect( ui->pauseButton, SIGNAL( clicked() ), this, SIGNAL( pausePressed() ) );
|
||||
connect( ui->playPauseButton, SIGNAL( clicked() ), SIGNAL( playPressed() ) );
|
||||
connect( ui->pauseButton, SIGNAL( clicked() ), SIGNAL( pausePressed() ) );
|
||||
|
||||
connect( ui->repeatButton, SIGNAL( clicked() ), SLOT( onRepeatClicked() ) );
|
||||
connect( ui->shuffleButton, SIGNAL( clicked() ), SLOT( onShuffleClicked() ) );
|
||||
|
||||
connect( ui->artistTrackLabel, SIGNAL( clickedArtist() ), SLOT( onArtistClicked() ) );
|
||||
connect( ui->artistTrackLabel, SIGNAL( clickedTrack() ), SLOT( onTrackClicked() ) );
|
||||
connect( ui->albumLabel, SIGNAL( clickedAlbum() ), SLOT( onAlbumClicked() ) );
|
||||
connect( ui->artistTrackLabel, SIGNAL( clickedTrack() ), SLOT( onTrackClicked() ) );
|
||||
connect( ui->albumLabel, SIGNAL( clickedAlbum() ), SLOT( onAlbumClicked() ) );
|
||||
connect( ui->socialButton, SIGNAL( clicked() ), SLOT( onSocialButtonClicked() ) );
|
||||
connect( ui->loveButton, SIGNAL( clicked( bool ) ), SLOT( onLoveButtonClicked( bool ) ) );
|
||||
|
||||
// <From AudioEngine>
|
||||
@@ -132,15 +137,6 @@ AudioControls::AudioControls( QWidget* parent )
|
||||
connect( AudioEngine::instance(), SIGNAL( timerMilliSeconds( qint64 ) ), SLOT( onPlaybackTimer( qint64 ) ) );
|
||||
connect( AudioEngine::instance(), SIGNAL( volumeChanged( int ) ), SLOT( onVolumeChanged( int ) ) );
|
||||
|
||||
m_defaultCover = QPixmap( RESPATH "images/no-album-no-case.png" )
|
||||
.scaled( ui->coverImage->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation );
|
||||
|
||||
connect( Tomahawk::InfoSystem::InfoSystem::instance(),
|
||||
SIGNAL( info( Tomahawk::InfoSystem::InfoRequestData, QVariant ) ),
|
||||
SLOT( infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData, QVariant ) ) );
|
||||
|
||||
connect( Tomahawk::InfoSystem::InfoSystem::instance(), SIGNAL( finished( QString ) ), SLOT( infoSystemFinished( QString ) ) );
|
||||
|
||||
ui->buttonAreaLayout->setSpacing( 0 );
|
||||
ui->stackedLayout->setSpacing( 0 );
|
||||
ui->stackedLayout->setContentsMargins( 0, 0, 0, 0 );
|
||||
@@ -175,6 +171,13 @@ AudioControls::changeEvent( QEvent* e )
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::phononTickCheckTimeout()
|
||||
{
|
||||
onPlaybackTimer( m_lastSliderCheck );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::onVolumeChanged( int volume )
|
||||
{
|
||||
@@ -187,8 +190,6 @@ AudioControls::onVolumeChanged( int volume )
|
||||
void
|
||||
AudioControls::onPlaybackStarted( const Tomahawk::result_ptr& result )
|
||||
{
|
||||
tDebug( LOGEXTRA ) << Q_FUNC_INFO;
|
||||
|
||||
if ( result.isNull() )
|
||||
return;
|
||||
|
||||
@@ -202,116 +203,111 @@ AudioControls::onPlaybackStarted( const Tomahawk::result_ptr& result )
|
||||
|
||||
ui->seekSlider->setRange( 0, duration );
|
||||
ui->seekSlider->setValue( 0 );
|
||||
ui->seekSlider->setEnabled( AudioEngine::instance()->canSeek() );
|
||||
|
||||
m_phononTickCheckTimer.stop();
|
||||
|
||||
m_sliderTimeLine.stop();
|
||||
m_sliderTimeLine.setDuration( duration );
|
||||
m_sliderTimeLine.setFrameRange( 0, duration );
|
||||
m_sliderTimeLine.setCurveShape( QTimeLine::LinearCurve );
|
||||
m_sliderTimeLine.setCurrentTime( 0 );
|
||||
m_seekMsecs = -1;
|
||||
|
||||
|
||||
ui->seekSlider->setVisible( true );
|
||||
|
||||
int updateRate = (double)1000 / ( (double)ui->seekSlider->contentsRect().width() / (double)( duration / 1000 ) );
|
||||
m_sliderTimeLine.setUpdateInterval( qBound( 40, updateRate, 500 ) );
|
||||
|
||||
m_noTimeChange = false;
|
||||
|
||||
Tomahawk::InfoSystem::InfoStringHash trackInfo;
|
||||
trackInfo["artist"] = result->artist()->name();
|
||||
trackInfo["album"] = result->album()->name();
|
||||
|
||||
Tomahawk::InfoSystem::InfoRequestData requestData;
|
||||
requestData.caller = s_acInfoIdentifier;
|
||||
requestData.type = Tomahawk::InfoSystem::InfoAlbumCoverArt;
|
||||
requestData.input = QVariant::fromValue< Tomahawk::InfoSystem::InfoStringHash >( trackInfo );
|
||||
requestData.customData = QVariantMap();
|
||||
|
||||
Tomahawk::InfoSystem::InfoSystem::instance()->getInfo( requestData );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestData, QVariant output )
|
||||
{
|
||||
if ( requestData.caller != s_acInfoIdentifier || requestData.type != Tomahawk::InfoSystem::InfoAlbumCoverArt )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ( m_currentTrack.isNull() )
|
||||
{
|
||||
tLog() << "Current track is null when trying to apply fetched cover art";
|
||||
return;
|
||||
}
|
||||
|
||||
if ( !output.canConvert< QVariantMap >() )
|
||||
{
|
||||
tDebug( LOGINFO ) << "Cannot convert fetched art from a QByteArray";
|
||||
return;
|
||||
}
|
||||
|
||||
QVariantMap returnedData = output.value< QVariantMap >();
|
||||
const QByteArray ba = returnedData["imgbytes"].toByteArray();
|
||||
if ( ba.length() )
|
||||
{
|
||||
QPixmap pm;
|
||||
pm.loadFromData( ba );
|
||||
|
||||
if ( pm.isNull() )
|
||||
ui->coverImage->setPixmap( m_defaultCover );
|
||||
else
|
||||
ui->coverImage->setPixmap( pm.scaled( ui->coverImage->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::infoSystemFinished( QString target )
|
||||
{
|
||||
Q_UNUSED( target );
|
||||
m_lastSliderCheck = 0;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::onPlaybackLoading( const Tomahawk::result_ptr& result )
|
||||
{
|
||||
tDebug( LOGEXTRA ) << Q_FUNC_INFO;
|
||||
if ( !m_currentTrack.isNull() )
|
||||
{
|
||||
disconnect( m_currentTrack->toQuery().data(), SIGNAL( updated() ), this, SLOT( onCoverUpdated() ) );
|
||||
disconnect( m_currentTrack->toQuery().data(), SIGNAL( socialActionsLoaded() ), this, SLOT( onSocialActionsLoaded() ) );
|
||||
}
|
||||
|
||||
m_currentTrack = result;
|
||||
connect( m_currentTrack->toQuery().data(), SIGNAL( updated() ), SLOT( onCoverUpdated() ) );
|
||||
connect( m_currentTrack->toQuery().data(), SIGNAL( socialActionsLoaded() ), SLOT( onSocialActionsLoaded() ) );
|
||||
|
||||
ui->artistTrackLabel->setResult( result );
|
||||
ui->albumLabel->setResult( result );
|
||||
ui->ownerLabel->setText( result->friendlySource() );
|
||||
ui->coverImage->setPixmap( m_defaultCover );
|
||||
|
||||
const QString duration = TomahawkUtils::timeToString( result.data()->duration() );
|
||||
ui->timeLabel->setFixedWidth( ui->timeLabel->fontMetrics().width( QString( duration.length(), QChar( '0' ) ) ) );
|
||||
ui->timeLabel->setText( TomahawkUtils::timeToString( 0 ) );
|
||||
ui->timeLeftLabel->setText( "-" + TomahawkUtils::timeToString( result.data()->duration() ) );
|
||||
ui->timeLeftLabel->setFixedWidth( ui->timeLeftLabel->fontMetrics().width( QString( duration.length() + 1, QChar( '0' ) ) ) );
|
||||
ui->timeLeftLabel->setText( "-" + duration );
|
||||
m_lastTextSecondShown = 0;
|
||||
|
||||
ui->stackedLayout->setCurrentWidget( ui->pauseButton );
|
||||
|
||||
ui->loveButton->setEnabled( true );
|
||||
ui->loveButton->setVisible( true );
|
||||
ui->socialButton->setEnabled( true );
|
||||
ui->socialButton->setVisible( true );
|
||||
|
||||
result->loadSocialActions();
|
||||
|
||||
connect( result.data(), SIGNAL( socialActionsLoaded() ), this, SLOT( socialActionsLoaded() ) );
|
||||
setCover();
|
||||
setSocialActions();
|
||||
}
|
||||
|
||||
void
|
||||
AudioControls::socialActionsLoaded()
|
||||
{
|
||||
Result* r = qobject_cast< Result* >( sender() );
|
||||
Q_ASSERT( r );
|
||||
|
||||
if ( m_currentTrack.data() == r )
|
||||
void
|
||||
AudioControls::onCoverUpdated()
|
||||
{
|
||||
Query* query = qobject_cast< Query* >( sender() );
|
||||
if ( !query || !m_currentTrack || query != m_currentTrack->toQuery().data() )
|
||||
return;
|
||||
|
||||
setCover();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::setCover()
|
||||
{
|
||||
if ( !m_currentTrack->toQuery()->cover( ui->coverImage->size() ).isNull() )
|
||||
{
|
||||
if ( m_currentTrack->loved() )
|
||||
{
|
||||
ui->loveButton->setPixmap( RESPATH "images/loved.png" );
|
||||
ui->loveButton->setChecked( true );
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->loveButton->setPixmap( RESPATH "images/not-loved.png" );
|
||||
ui->loveButton->setChecked( false );
|
||||
}
|
||||
QPixmap cover;
|
||||
cover = m_currentTrack->toQuery()->cover( ui->coverImage->size() );
|
||||
ui->coverImage->setPixmap( cover, false );
|
||||
}
|
||||
else
|
||||
ui->coverImage->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::ScaledCover, ui->coverImage->size() ), true );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::onSocialActionsLoaded()
|
||||
{
|
||||
Query* query = qobject_cast< Query* >( sender() );
|
||||
if ( !query || !m_currentTrack || !query->equals( m_currentTrack->toQuery() ) )
|
||||
return;
|
||||
|
||||
setSocialActions();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::setSocialActions()
|
||||
{
|
||||
if ( m_currentTrack->toQuery()->loved() )
|
||||
{
|
||||
ui->loveButton->setPixmap( RESPATH "images/loved.png" );
|
||||
ui->loveButton->setChecked( true );
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->loveButton->setPixmap( RESPATH "images/not-loved.png" );
|
||||
ui->loveButton->setChecked( false );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -324,12 +320,12 @@ AudioControls::onPlaybackPaused()
|
||||
m_sliderTimeLine.setPaused( true );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::onPlaybackResumed()
|
||||
{
|
||||
tDebug( LOGEXTRA ) << Q_FUNC_INFO;
|
||||
ui->stackedLayout->setCurrentWidget( ui->pauseButton );
|
||||
ui->loveButton->setVisible( true );
|
||||
m_sliderTimeLine.resume();
|
||||
}
|
||||
|
||||
@@ -340,6 +336,7 @@ AudioControls::onPlaybackSeeked( qint64 msec )
|
||||
tDebug( LOGEXTRA ) << Q_FUNC_INFO << " setting current timer to " << msec;
|
||||
m_sliderTimeLine.setPaused( true );
|
||||
m_sliderTimeLine.setCurrentTime( msec );
|
||||
m_lastSliderCheck = msec;
|
||||
m_seekMsecs = msec;
|
||||
}
|
||||
|
||||
@@ -355,7 +352,7 @@ AudioControls::onPlaybackStopped()
|
||||
ui->ownerLabel->setText( "" );
|
||||
ui->timeLabel->setText( "" );
|
||||
ui->timeLeftLabel->setText( "" );
|
||||
ui->coverImage->setPixmap( QPixmap() );
|
||||
ui->coverImage->setPixmap( QPixmap(), true );
|
||||
ui->seekSlider->setVisible( false );
|
||||
m_sliderTimeLine.stop();
|
||||
m_sliderTimeLine.setCurrentTime( 0 );
|
||||
@@ -363,51 +360,69 @@ AudioControls::onPlaybackStopped()
|
||||
ui->stackedLayout->setCurrentWidget( ui->playPauseButton );
|
||||
ui->loveButton->setEnabled( false );
|
||||
ui->loveButton->setVisible( false );
|
||||
ui->socialButton->setEnabled( false );
|
||||
ui->socialButton->setVisible( false );
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::onPlaybackTimer( qint64 msElapsed )
|
||||
{
|
||||
//tDebug( LOGEXTRA ) << Q_FUNC_INFO << " msElapsed = " << msElapsed << " and timer current time = " << m_sliderTimeLine.currentTime() << " and m_seekMsecs = " << m_seekMsecs;
|
||||
if ( m_currentTrack.isNull() )
|
||||
const int seconds = msElapsed / 1000;
|
||||
if ( seconds != m_lastTextSecondShown && !m_currentTrack.isNull() )
|
||||
{
|
||||
ui->timeLabel->setText( TomahawkUtils::timeToString( seconds ) );
|
||||
ui->timeLeftLabel->setText( "-" + TomahawkUtils::timeToString( m_currentTrack->duration() - seconds ) );
|
||||
m_lastTextSecondShown = seconds;
|
||||
}
|
||||
|
||||
//tDebug( LOGEXTRA ) << Q_FUNC_INFO << "msElapsed =" << msElapsed << "and timer current time =" << m_sliderTimeLine.currentTime() << "and m_seekMsecs =" << m_seekMsecs;
|
||||
if ( msElapsed > 0 && msElapsed != m_lastSliderCheck && m_seekMsecs == -1 && msElapsed - 500 < m_lastSliderCheck )
|
||||
return;
|
||||
m_lastSliderCheck = msElapsed;
|
||||
|
||||
if ( m_currentTrack.isNull() )
|
||||
{
|
||||
m_sliderTimeLine.stop();
|
||||
return;
|
||||
}
|
||||
|
||||
ui->seekSlider->blockSignals( true );
|
||||
|
||||
const int seconds = msElapsed / 1000;
|
||||
ui->timeLabel->setText( TomahawkUtils::timeToString( seconds ) );
|
||||
ui->timeLeftLabel->setText( "-" + TomahawkUtils::timeToString( m_currentTrack->duration() - seconds ) );
|
||||
if ( sender() != &m_phononTickCheckTimer )
|
||||
m_phononTickCheckTimer.start( 1000 );
|
||||
|
||||
int currentTime = m_sliderTimeLine.currentTime();
|
||||
if ( m_noTimeChange )
|
||||
{
|
||||
if ( m_sliderTimeLine.currentTime() != msElapsed )
|
||||
if ( currentTime != msElapsed )
|
||||
{
|
||||
m_sliderTimeLine.setPaused( true );
|
||||
m_noTimeChange = false;
|
||||
m_sliderTimeLine.setCurrentTime( msElapsed );
|
||||
m_seekMsecs = -1;
|
||||
m_sliderTimeLine.resume();
|
||||
}
|
||||
}
|
||||
else if ( m_sliderTimeLine.currentTime() >= msElapsed || m_seekMsecs != -1 )
|
||||
else if ( currentTime >= msElapsed || m_seekMsecs != -1 )
|
||||
{
|
||||
m_sliderTimeLine.setPaused( true );
|
||||
|
||||
m_noTimeChange = false;
|
||||
if ( m_sliderTimeLine.currentTime() == msElapsed )
|
||||
if ( currentTime == msElapsed )
|
||||
m_noTimeChange = true;
|
||||
|
||||
m_sliderTimeLine.setCurrentTime( msElapsed );
|
||||
m_seekMsecs = -1;
|
||||
if ( AudioEngine::instance()->state() != AudioEngine::Paused )
|
||||
if ( AudioEngine::instance()->state() != AudioEngine::Paused && sender() != &m_phononTickCheckTimer )
|
||||
m_sliderTimeLine.resume();
|
||||
}
|
||||
else if ( m_sliderTimeLine.duration() > msElapsed && m_sliderTimeLine.state() == QTimeLine::NotRunning )
|
||||
else if ( m_sliderTimeLine.duration() > msElapsed && m_sliderTimeLine.state() == QTimeLine::NotRunning && AudioEngine::instance()->state() == AudioEngine::Playing )
|
||||
{
|
||||
ui->seekSlider->setEnabled( AudioEngine::instance()->canSeek() );
|
||||
m_sliderTimeLine.resume();
|
||||
m_sliderTimeLine.start();
|
||||
}
|
||||
else if ( m_sliderTimeLine.state() == QTimeLine::Paused && AudioEngine::instance()->state() != AudioEngine::Paused )
|
||||
{
|
||||
ui->seekSlider->setEnabled( AudioEngine::instance()->canSeek() );
|
||||
m_sliderTimeLine.resume();
|
||||
}
|
||||
|
||||
@@ -416,13 +431,13 @@ AudioControls::onPlaybackTimer( qint64 msElapsed )
|
||||
|
||||
|
||||
void
|
||||
AudioControls::onRepeatModeChanged( PlaylistInterface::RepeatMode mode )
|
||||
AudioControls::onRepeatModeChanged( PlaylistModes::RepeatMode mode )
|
||||
{
|
||||
m_repeatMode = mode;
|
||||
|
||||
switch ( m_repeatMode )
|
||||
{
|
||||
case PlaylistInterface::NoRepeat:
|
||||
case PlaylistModes::NoRepeat:
|
||||
{
|
||||
// switch to RepeatOne
|
||||
ui->repeatButton->setPixmap( RESPATH "images/repeat-off-rest.png" );
|
||||
@@ -430,7 +445,7 @@ AudioControls::onRepeatModeChanged( PlaylistInterface::RepeatMode mode )
|
||||
}
|
||||
break;
|
||||
|
||||
case PlaylistInterface::RepeatOne:
|
||||
case PlaylistModes::RepeatOne:
|
||||
{
|
||||
// switch to RepeatAll
|
||||
ui->repeatButton->setPixmap( RESPATH "images/repeat-1-on-rest.png" );
|
||||
@@ -438,7 +453,7 @@ AudioControls::onRepeatModeChanged( PlaylistInterface::RepeatMode mode )
|
||||
}
|
||||
break;
|
||||
|
||||
case PlaylistInterface::RepeatAll:
|
||||
case PlaylistModes::RepeatAll:
|
||||
{
|
||||
// switch to NoRepeat
|
||||
ui->repeatButton->setPixmap( RESPATH "images/repeat-all-on-rest.png" );
|
||||
@@ -457,24 +472,24 @@ AudioControls::onRepeatClicked()
|
||||
{
|
||||
switch ( m_repeatMode )
|
||||
{
|
||||
case PlaylistInterface::NoRepeat:
|
||||
case PlaylistModes::NoRepeat:
|
||||
{
|
||||
// switch to RepeatOne
|
||||
ViewManager::instance()->setRepeatMode( PlaylistInterface::RepeatOne );
|
||||
ViewManager::instance()->setRepeatMode( PlaylistModes::RepeatOne );
|
||||
}
|
||||
break;
|
||||
|
||||
case PlaylistInterface::RepeatOne:
|
||||
case PlaylistModes::RepeatOne:
|
||||
{
|
||||
// switch to RepeatAll
|
||||
ViewManager::instance()->setRepeatMode( PlaylistInterface::RepeatAll );
|
||||
ViewManager::instance()->setRepeatMode( PlaylistModes::RepeatAll );
|
||||
}
|
||||
break;
|
||||
|
||||
case PlaylistInterface::RepeatAll:
|
||||
case PlaylistModes::RepeatAll:
|
||||
{
|
||||
// switch to NoRepeat
|
||||
ViewManager::instance()->setRepeatMode( PlaylistInterface::NoRepeat );
|
||||
ViewManager::instance()->setRepeatMode( PlaylistModes::NoRepeat );
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -530,7 +545,7 @@ AudioControls::onAlbumClicked()
|
||||
void
|
||||
AudioControls::onTrackClicked()
|
||||
{
|
||||
ViewManager::instance()->showCurrentTrack();
|
||||
ViewManager::instance()->show( m_currentTrack->toQuery() );
|
||||
}
|
||||
|
||||
|
||||
@@ -573,43 +588,38 @@ AudioControls::droppedTracks( QList< query_ptr > tracks )
|
||||
{
|
||||
// queue and play the first no matter what
|
||||
GlobalActionManager::instance()->handlePlayTrack( tracks.first() );
|
||||
|
||||
// just queue the rest
|
||||
for ( int i = 1; i < tracks.size(); i++ )
|
||||
{
|
||||
ViewManager::instance()->queue()->model()->append( tracks[ i ] );
|
||||
}
|
||||
ViewManager::instance()->queue()->model()->append( tracks );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::onSocialButtonClicked()
|
||||
{
|
||||
if ( !m_socialWidget.isNull() )
|
||||
return;
|
||||
|
||||
m_socialWidget = new SocialWidget( m_parent );
|
||||
m_socialWidget.data()->setPosition( m_socialWidget.data()->mapFromGlobal( QCursor::pos() ) );
|
||||
m_socialWidget.data()->setQuery( m_currentTrack->toQuery() );
|
||||
m_socialWidget.data()->show();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
AudioControls::onLoveButtonClicked( bool checked )
|
||||
{
|
||||
Tomahawk::InfoSystem::InfoStringHash trackInfo;
|
||||
trackInfo["title"] = m_currentTrack->track();
|
||||
trackInfo["artist"] = m_currentTrack->artist()->name();
|
||||
trackInfo["album"] = m_currentTrack->album()->name();
|
||||
|
||||
if ( checked )
|
||||
{
|
||||
Tomahawk::InfoSystem::InfoSystem::instance()->pushInfo(
|
||||
s_acInfoIdentifier, Tomahawk::InfoSystem::InfoLove,
|
||||
QVariant::fromValue< Tomahawk::InfoSystem::InfoStringHash >( trackInfo ) );
|
||||
|
||||
DatabaseCommand_SocialAction* cmd = new DatabaseCommand_SocialAction( m_currentTrack, QString( "Love" ), QString( "true") );
|
||||
Database::instance()->enqueue( QSharedPointer<DatabaseCommand>(cmd) );
|
||||
ui->loveButton->setPixmap( RESPATH "images/loved.png" );
|
||||
|
||||
m_currentTrack->toQuery()->setLoved( true );
|
||||
}
|
||||
else
|
||||
{
|
||||
Tomahawk::InfoSystem::InfoSystem::instance()->pushInfo(
|
||||
s_acInfoIdentifier, Tomahawk::InfoSystem::InfoUnLove,
|
||||
QVariant::fromValue< Tomahawk::InfoSystem::InfoStringHash >( trackInfo ) );
|
||||
|
||||
DatabaseCommand_SocialAction* cmd = new DatabaseCommand_SocialAction( m_currentTrack, QString( "Love" ), QString( "false" ) );
|
||||
Database::instance()->enqueue( QSharedPointer<DatabaseCommand>(cmd) );
|
||||
ui->loveButton->setPixmap( RESPATH "images/not-loved.png" );
|
||||
|
||||
m_currentTrack->toQuery()->setLoved( false );
|
||||
}
|
||||
}
|
||||
|