mirror of
https://github.com/captbaritone/webamp.git
synced 2026-01-23 10:15:31 +00:00
Move some skin data to JSON
This commit is contained in:
parent
308d3f9136
commit
902ef2f7c8
7 changed files with 147 additions and 79 deletions
41
js/baseSkin.json
Normal file
41
js/baseSkin.json
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"images": {
|
||||
"EQ_PREAMP_LINE":
|
||||
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
|
||||
"EQ_GRAPH_LINE_COLORS":
|
||||
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
|
||||
},
|
||||
"colors": [
|
||||
"rgb(0,0,0)",
|
||||
"rgb(24,33,41)",
|
||||
"rgb(239,49,16)",
|
||||
"rgb(206,41,16)",
|
||||
"rgb(214,90,0)",
|
||||
"rgb(214,102,0)",
|
||||
"rgb(214,115,0)",
|
||||
"rgb(198,123,8)",
|
||||
"rgb(222,165,24)",
|
||||
"rgb(214,181,33)",
|
||||
"rgb(189,222,41)",
|
||||
"rgb(148,222,33)",
|
||||
"rgb(41,206,16)",
|
||||
"rgb(50,190,16)",
|
||||
"rgb(57,181,16)",
|
||||
"rgb(49,156,8)",
|
||||
"rgb(41,148,0)",
|
||||
"rgb(24,132,8)",
|
||||
"rgb(255,255,255)",
|
||||
"rgb(214,214,222)",
|
||||
"rgb(181,189,189)",
|
||||
"rgb(160,170,175)",
|
||||
"rgb(148,156,165)",
|
||||
"rgb(150,150,150)"
|
||||
],
|
||||
"playlistStyle": {
|
||||
"normal": "#00FF00",
|
||||
"current": "#FFFFFF",
|
||||
"normalbg": "#000000",
|
||||
"selectedbg": "#0000FF",
|
||||
"font": "Arial"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
import * as baseSkin from "./baseSkin.json";
|
||||
export const BANDS = [60, 170, 310, 600, 1000, 3000, 6000, 12000, 14000, 16000];
|
||||
|
||||
export const WINDOWS = {
|
||||
|
|
@ -27,37 +28,4 @@ export const WINDOW_WIDTH = 275;
|
|||
export const TRACK_HEIGHT = 13;
|
||||
export const LETTERS = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split("");
|
||||
|
||||
export const DEFAULT_VIS_COLORS = [
|
||||
"rgb(0,0,0)",
|
||||
"rgb(24,33,41)",
|
||||
"rgb(239,49,16)",
|
||||
"rgb(206,41,16)",
|
||||
"rgb(214,90,0)",
|
||||
"rgb(214,102,0)",
|
||||
"rgb(214,115,0)",
|
||||
"rgb(198,123,8)",
|
||||
"rgb(222,165,24)",
|
||||
"rgb(214,181,33)",
|
||||
"rgb(189,222,41)",
|
||||
"rgb(148,222,33)",
|
||||
"rgb(41,206,16)",
|
||||
"rgb(50,190,16)",
|
||||
"rgb(57,181,16)",
|
||||
"rgb(49,156,8)",
|
||||
"rgb(41,148,0)",
|
||||
"rgb(24,132,8)",
|
||||
"rgb(255,255,255)",
|
||||
"rgb(214,214,222)",
|
||||
"rgb(181,189,189)",
|
||||
"rgb(160,170,175)",
|
||||
"rgb(148,156,165)",
|
||||
"rgb(150,150,150)"
|
||||
];
|
||||
|
||||
export const DEFAULT_PLAYLIST_STYLE = {
|
||||
normal: "#00FF00",
|
||||
current: "#FFFFFF",
|
||||
normalbg: "#000000",
|
||||
selectedbg: "#0000FF",
|
||||
font: "Arial"
|
||||
};
|
||||
export const DEFAULT_SKIN = baseSkin;
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import {
|
|||
SET_PLAYLIST_SCROLL_POSITION,
|
||||
LOADED
|
||||
} from "../actionTypes";
|
||||
import { DEFAULT_SKIN } from "../constants";
|
||||
|
||||
const defaultDisplayState = {
|
||||
doubled: false,
|
||||
|
|
@ -18,43 +19,14 @@ const defaultDisplayState = {
|
|||
llama: false,
|
||||
closed: false,
|
||||
working: false,
|
||||
skinImages: {
|
||||
EQ_PREAMP_LINE:
|
||||
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
|
||||
EQ_GRAPH_LINE_COLORS:
|
||||
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
|
||||
},
|
||||
skinColors: [
|
||||
"rgb(0,0,0)",
|
||||
"rgb(24,33,41)",
|
||||
"rgb(239,49,16)",
|
||||
"rgb(206,41,16)",
|
||||
"rgb(214,90,0)",
|
||||
"rgb(214,102,0)",
|
||||
"rgb(214,115,0)",
|
||||
"rgb(198,123,8)",
|
||||
"rgb(222,165,24)",
|
||||
"rgb(214,181,33)",
|
||||
"rgb(189,222,41)",
|
||||
"rgb(148,222,33)",
|
||||
"rgb(41,206,16)",
|
||||
"rgb(50,190,16)",
|
||||
"rgb(57,181,16)",
|
||||
"rgb(49,156,8)",
|
||||
"rgb(41,148,0)",
|
||||
"rgb(24,132,8)",
|
||||
"rgb(255,255,255)",
|
||||
"rgb(214,214,222)",
|
||||
"rgb(181,189,189)",
|
||||
"rgb(160,170,175)",
|
||||
"rgb(148,156,165)",
|
||||
"rgb(150,150,150)"
|
||||
],
|
||||
skinImages: DEFAULT_SKIN.images,
|
||||
skinColors: DEFAULT_SKIN.colors,
|
||||
skinCursors: null,
|
||||
skinPlaylistStyle: null,
|
||||
skinRegion: {},
|
||||
visualizerStyle: 2,
|
||||
playlistScrollPosition: 0
|
||||
playlistScrollPosition: 0,
|
||||
skinGenLetterWidths: null // TODO: Get the default value for this?
|
||||
};
|
||||
|
||||
const display = (state = defaultDisplayState, action) => {
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
import SKIN_SPRITES from "./skinSprites";
|
||||
import regionParser from "./regionParser";
|
||||
import {
|
||||
LETTERS,
|
||||
DEFAULT_VIS_COLORS,
|
||||
DEFAULT_PLAYLIST_STYLE
|
||||
} from "./constants";
|
||||
import { LETTERS, DEFAULT_SKIN } from "./constants";
|
||||
import { parseViscolors, parseIni, getFileExtension } from "./utils";
|
||||
|
||||
const getJSZip = () => {
|
||||
|
|
@ -159,7 +155,7 @@ async function genPlaylistStyle(zip) {
|
|||
const data = pledit && parseIni(pledit.contents).text;
|
||||
if (!data) {
|
||||
// Corrupt or missing PLEDIT.txt file.
|
||||
return DEFAULT_PLAYLIST_STYLE;
|
||||
return DEFAULT_SKIN.playlistStyle;
|
||||
}
|
||||
|
||||
// Winamp seems to permit colors that contain too many characters.
|
||||
|
|
@ -175,12 +171,12 @@ async function genPlaylistStyle(zip) {
|
|||
data[colorKey] = color.slice(0, 7);
|
||||
});
|
||||
|
||||
return { ...DEFAULT_PLAYLIST_STYLE, ...data };
|
||||
return { ...DEFAULT_SKIN.playlistStyle, ...data };
|
||||
}
|
||||
|
||||
async function genColors(zip) {
|
||||
async function genVizColors(zip) {
|
||||
const viscolor = await genFileFromZip(zip, "VISCOLOR", "txt", "text");
|
||||
return viscolor ? parseViscolors(viscolor.contents) : DEFAULT_VIS_COLORS;
|
||||
return viscolor ? parseViscolors(viscolor.contents) : DEFAULT_SKIN.colors;
|
||||
}
|
||||
|
||||
async function genImages(zip) {
|
||||
|
|
@ -264,7 +260,7 @@ async function skinParser(zipFileBuffer) {
|
|||
region,
|
||||
genTextSprites
|
||||
] = await Promise.all([
|
||||
genColors(zip),
|
||||
genVizColors(zip),
|
||||
genPlaylistStyle(zip),
|
||||
genImages(zip),
|
||||
genCursors(zip),
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { DEFAULT_VIS_COLORS } from "./constants";
|
||||
import { DEFAULT_SKIN } from "./constants";
|
||||
|
||||
export const getTimeObj = time => {
|
||||
if (time == null) {
|
||||
|
|
@ -74,7 +74,7 @@ export const parseViscolors = text => {
|
|||
const matches = regex.exec(entries[i]);
|
||||
colors[i] = matches
|
||||
? `rgb(${matches.slice(1, 4).join(",")})`
|
||||
: DEFAULT_VIS_COLORS[i];
|
||||
: DEFAULT_SKIN.colors[i];
|
||||
}
|
||||
return colors;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@
|
|||
"jszip": "^3.1.3",
|
||||
"prettier": "^1.13.0",
|
||||
"prop-types": "^15.5.10",
|
||||
"puppeteer": "^1.4.0",
|
||||
"raven-for-redux": "^1.3.1",
|
||||
"raven-js": "^3.19.1",
|
||||
"rc-slider": "^8.1.5",
|
||||
|
|
|
|||
90
yarn.lock
90
yarn.lock
|
|
@ -75,6 +75,12 @@ add-dom-event-listener@1.x:
|
|||
dependencies:
|
||||
object-assign "4.x"
|
||||
|
||||
agent-base@^4.1.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.0.tgz#9838b5c3392b962bad031e6a4c5e1024abec45ce"
|
||||
dependencies:
|
||||
es6-promisify "^5.0.0"
|
||||
|
||||
ajv-keywords@^2.1.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
|
||||
|
|
@ -1692,6 +1698,15 @@ concat-map@0.0.1:
|
|||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||
|
||||
concat-stream@1.6.2:
|
||||
version "1.6.2"
|
||||
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
|
||||
dependencies:
|
||||
buffer-from "^1.0.0"
|
||||
inherits "^2.0.3"
|
||||
readable-stream "^2.2.2"
|
||||
typedarray "^0.0.6"
|
||||
|
||||
concat-stream@^1.5.0:
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.1.tgz#261b8f518301f1d834e36342b9fea095d2620a26"
|
||||
|
|
@ -2467,10 +2482,20 @@ es6-promise@^3.0.2:
|
|||
version "3.3.1"
|
||||
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613"
|
||||
|
||||
es6-promise@^4.0.3:
|
||||
version "4.2.4"
|
||||
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29"
|
||||
|
||||
es6-promise@~3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.0.2.tgz#010d5858423a5f118979665f46486a95c6ee2bb6"
|
||||
|
||||
es6-promisify@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
|
||||
dependencies:
|
||||
es6-promise "^4.0.3"
|
||||
|
||||
es6-set@~0.1.5:
|
||||
version "0.1.5"
|
||||
resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
|
||||
|
|
@ -2891,6 +2916,15 @@ extglob@^2.0.2, extglob@^2.0.4:
|
|||
snapdragon "^0.8.1"
|
||||
to-regex "^3.0.1"
|
||||
|
||||
extract-zip@^1.6.5:
|
||||
version "1.6.7"
|
||||
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9"
|
||||
dependencies:
|
||||
concat-stream "1.6.2"
|
||||
debug "2.6.9"
|
||||
mkdirp "0.5.1"
|
||||
yauzl "2.4.1"
|
||||
|
||||
extsprintf@1.3.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
|
||||
|
|
@ -2949,6 +2983,12 @@ fbjs@^0.8.16:
|
|||
setimmediate "^1.0.5"
|
||||
ua-parser-js "^0.7.9"
|
||||
|
||||
fd-slicer@~1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
|
||||
dependencies:
|
||||
pend "~1.2.0"
|
||||
|
||||
figures@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
|
||||
|
|
@ -3639,6 +3679,13 @@ https-browserify@^1.0.0:
|
|||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
|
||||
|
||||
https-proxy-agent@^2.1.0:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz#51552970fa04d723e04c56d04178c3f92592bbc0"
|
||||
dependencies:
|
||||
agent-base "^4.1.0"
|
||||
debug "^3.1.0"
|
||||
|
||||
iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13:
|
||||
version "0.4.19"
|
||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
|
||||
|
|
@ -5012,6 +5059,10 @@ mime@^1.3.4, mime@^1.4.1, mime@^1.5.0, mime@^1.6.0:
|
|||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
|
||||
|
||||
mime@^2.0.3:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-2.3.1.tgz#b1621c54d63b97c47d3cfe7f7215f7d64517c369"
|
||||
|
||||
mimic-fn@^1.0.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
|
||||
|
|
@ -5687,6 +5738,10 @@ pbkdf2@^3.0.3:
|
|||
safe-buffer "^5.0.1"
|
||||
sha.js "^2.4.8"
|
||||
|
||||
pend@~1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
|
||||
|
||||
performance-now@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
|
||||
|
|
@ -6084,6 +6139,10 @@ proxy-addr@~2.0.2:
|
|||
forwarded "~0.1.2"
|
||||
ipaddr.js "1.5.2"
|
||||
|
||||
proxy-from-env@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee"
|
||||
|
||||
prr@~1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
|
||||
|
|
@ -6133,6 +6192,19 @@ punycode@^2.1.0:
|
|||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
|
||||
|
||||
puppeteer@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-1.4.0.tgz#437f0f3450d76e437185c0bf06f446e80f184692"
|
||||
dependencies:
|
||||
debug "^3.1.0"
|
||||
extract-zip "^1.6.5"
|
||||
https-proxy-agent "^2.1.0"
|
||||
mime "^2.0.3"
|
||||
progress "^2.0.0"
|
||||
proxy-from-env "^1.0.0"
|
||||
rimraf "^2.6.1"
|
||||
ws "^3.0.0"
|
||||
|
||||
q@^1.1.2:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
|
||||
|
|
@ -7626,6 +7698,10 @@ uid-number@^0.0.6:
|
|||
version "0.0.6"
|
||||
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
|
||||
|
||||
ultron@~1.1.0:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
|
||||
|
||||
underscore.string@2.3.x:
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.3.3.tgz#71c08bf6b428b1133f37e78fa3a21c82f7329b0d"
|
||||
|
|
@ -8160,6 +8236,14 @@ write@^0.2.1:
|
|||
dependencies:
|
||||
mkdirp "^0.5.1"
|
||||
|
||||
ws@^3.0.0:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
|
||||
dependencies:
|
||||
async-limiter "~1.0.0"
|
||||
safe-buffer "~5.1.0"
|
||||
ultron "~1.1.0"
|
||||
|
||||
ws@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289"
|
||||
|
|
@ -8302,3 +8386,9 @@ yargs@~3.10.0:
|
|||
cliui "^2.1.0"
|
||||
decamelize "^1.0.0"
|
||||
window-size "0.1.0"
|
||||
|
||||
yauzl@2.4.1:
|
||||
version "2.4.1"
|
||||
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005"
|
||||
dependencies:
|
||||
fd-slicer "~1.0.1"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue