Add many tests for serialization

This commit is contained in:
Jordan Eldredge 2018-09-30 00:19:04 -07:00
parent 4d353376d1
commit 282780a26b
24 changed files with 2148 additions and 4 deletions

View file

@ -0,0 +1,114 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`can serialize the initial state 1`] = `
Object {
"display": Object {
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinColors": Array [
"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)",
],
"skinCursors": null,
"skinGenLetterWidths": null,
"skinImages": Object {
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII=",
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
},
"skinPlaylistStyle": null,
"skinRegion": Object {},
"visualizerStyle": 0,
},
"equalizer": Object {
"auto": false,
"on": true,
"sliders": Object {
"1000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"170": 50,
"3000": 50,
"310": 50,
"60": 50,
"600": 50,
"6000": 50,
"preamp": 50,
},
},
"media": Object {
"balance": 0,
"repeat": false,
"shuffle": false,
"volume": 78,
},
"version": 1,
"windows": Object {
"focused": "main",
"genWindows": Object {
"equalizer": Object {
"hidden": false,
"open": true,
"position": Object {
"x": 0,
"y": 0,
},
"shade": false,
"size": Array [
0,
0,
],
},
"main": Object {
"hidden": false,
"open": true,
"position": Object {
"x": 0,
"y": 0,
},
"shade": false,
"size": Array [
0,
0,
],
},
"playlist": Object {
"hidden": false,
"open": true,
"position": Object {
"x": 0,
"y": 0,
},
"shade": false,
"size": Array [
0,
0,
],
},
},
},
}
`;

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 40,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": true,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": true,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 100,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": false,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 10
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "equalizer"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": true,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 100,
"y": 100
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": true
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": true,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 50,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": true,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": false,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": true,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -0,0 +1,110 @@
{
"version": 1,
"media": {
"volume": 78,
"balance": 0,
"shuffle": false,
"repeat": false
},
"equalizer": {
"on": true,
"auto": false,
"sliders": {
"60": 50,
"170": 50,
"310": 50,
"600": 50,
"1000": 50,
"3000": 50,
"6000": 50,
"12000": 50,
"14000": 50,
"16000": 50,
"preamp": 50
}
},
"display": {
"visualizerStyle": 0,
"doubled": false,
"llama": false,
"marqueeStep": 0,
"skinImages": {
"EQ_PREAMP_LINE": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHEAAAABCAYAAADpXEERAAAAE0lEQVQoU2Pcdfruf4ZRMKRDAAD1lwNjTqcaUQAAAABJRU5ErkJggg==",
"EQ_GRAPH_LINE_COLORS": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAATCAYAAABRC2cZAAAAR0lEQVQYV2O4rCT9n+F9kOJ/hvfViv8ZHkzSQCE2afxneH/HEJm49Nr0PwOYWPLIAkp0PjL4z1B41uQ/Q9QGnf8MWrPEIAQANWYwvnlToNIAAAAASUVORK5CYII="
},
"skinCursors": null,
"skinRegion": {},
"skinGenLetterWidths": null,
"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)"
],
"skinPlaylistStyle": null
},
"windows": {
"genWindows": {
"main": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"equalizer": {
"size": [
0,
0
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
},
"playlist": {
"size": [
4,
5
],
"open": true,
"hidden": false,
"shade": false,
"position": {
"x": 0,
"y": 0
}
}
},
"focused": "main"
}
}

View file

@ -1,6 +1,11 @@
import { BANDS } from "../constants";
import { SET_EQ_ON, SET_EQ_OFF, SET_BAND_VALUE } from "../actionTypes";
import {
SET_EQ_ON,
SET_EQ_OFF,
SET_BAND_VALUE,
SET_EQ_AUTO
} from "../actionTypes";
import { Band, Dispatchable } from "../types";
const BAND_SNAP_DISTANCE = 10;
@ -52,3 +57,9 @@ export function toggleEq(): Dispatchable {
}
};
}
export function toggleEqAuto(): Dispatchable {
return (dispatch, getState) => {
dispatch({ type: SET_EQ_AUTO, value: !getState().equalizer.auto });
};
}

View file

@ -28,7 +28,9 @@ export {
resetWindowSizes,
browserWindowSizeChanged,
ensureWindowsAreOnScreen,
stackWindows
stackWindows,
toggleLlamaMode,
setFocusedWindow
} from "./windows";
export {
play,
@ -52,7 +54,8 @@ export {
setEqToMid,
setEqToMin,
setPreamp,
toggleEq
toggleEq,
toggleEqAuto
} from "./equalizer";
export {
addTracksFromReferences,

View file

@ -10,7 +10,9 @@ import {
TOGGLE_WINDOW_SHADE_MODE,
SET_WINDOW_VISIBILITY,
BROWSER_WINDOW_SIZE_CHANGED,
RESET_WINDOW_SIZES
RESET_WINDOW_SIZES,
TOGGLE_LLAMA_MODE,
SET_FOCUSED_WINDOW
} from "../actionTypes";
import { getPositionDiff, SizeDiff } from "../resizeUtils";
@ -57,6 +59,10 @@ export function toggleDoubleSizeMode(): Dispatchable {
return withWindowGraphIntegrity({ type: TOGGLE_DOUBLESIZE_MODE });
}
export function toggleLlamaMode(): Dispatchable {
return { type: TOGGLE_LLAMA_MODE };
}
export function toggleEqualizerShadeMode(): Dispatchable {
return withWindowGraphIntegrity({
type: TOGGLE_WINDOW_SHADE_MODE,
@ -90,6 +96,10 @@ export function showWindow(windowId: WindowId): Dispatchable {
return { type: SET_WINDOW_VISIBILITY, windowId, hidden: false };
}
export function setFocusedWindow(window: WindowId): Dispatchable {
return { type: SET_FOCUSED_WINDOW, window };
}
export function setWindowSize(
windowId: WindowId,
size: [number, number]

View file

@ -354,6 +354,14 @@ export function getWindowHidden(state: AppState) {
return (windowId: WindowId) => state.windows.genWindows[windowId].hidden;
}
export function getFocusedWindow(state: AppState): WindowId {
return state.windows.focused;
}
export function getWindowPosition(state: AppState) {
return (windowId: WindowId) => state.windows.genWindows[windowId].position;
}
export const getGenWindows = (state: AppState) => {
return state.windows.genWindows;
};
@ -367,6 +375,10 @@ export function getDoubled(state: AppState) {
return state.display.doubled;
}
export function getLlamaMode(state: AppState) {
return state.display.llama;
}
export const getWindowSizes = createSelector(
getGenWindows,
getDoubled,
@ -406,6 +418,8 @@ export const getVisualizerStyle = (state: AppState) =>
export const getVolume = (state: AppState) => state.media.volume;
export const getBalance = (state: AppState) => state.media.balance;
export const getShuffle = (state: AppState) => state.media.shuffle;
export const getRepeat = (state: AppState) => state.media.repeat;
export const getChannels = (state: AppState) => state.media.channels;
export function getSerlializedState(state: AppState): SerializedStateV1 {
@ -422,6 +436,10 @@ export function getEqualizerEnabled(state: AppState): boolean {
return state.equalizer.on;
}
export function getEqualizerAuto(state: AppState): boolean {
return state.equalizer.auto;
}
export function getBrowserWindowSize(
state: AppState
): { height: number; width: number } {

218
js/serialization.test.ts Normal file
View file

@ -0,0 +1,218 @@
import fs from "fs";
import path from "path";
import reducer from "./reducers";
import * as Selectors from "./selectors";
import * as Actions from "./actionCreators";
import { kebabCase } from "lodash";
import { createStore, applyMiddleware } from "redux";
import thunk from "redux-thunk";
import { LOAD_SERIALIZED_STATE } from "./actionTypes";
import { SerializedStateV1 } from "./serializedStates/v1Types";
import { Dispatchable, AppState } from "./types";
function fixturePath(name: string) {
return path.join(
__dirname,
"__tests__/fixtures/serializedState/v1/",
`${kebabCase(name)}.json`
);
}
function writeFixture(name: string, state: SerializedStateV1) {
fs.writeFileSync(fixturePath(name), JSON.stringify(state, null, 4));
}
function readFixture(name: string): SerializedStateV1 {
return JSON.parse(fs.readFileSync(fixturePath(name), "utf8"));
}
interface SerializationTestParams<T> {
name: string;
action: Dispatchable;
selector(state: AppState): T;
expected: T;
}
function testSerialization<T>({
name,
action,
selector,
expected
}: SerializationTestParams<T>) {
test(name, () => {
const firstStore = getStore();
firstStore.dispatch(action);
// Ensure we actually changed something
expect(firstStore.getState()).not.toEqual(getStore().getState());
const serializedState = Selectors.getSerlializedState(
firstStore.getState()
);
if (!fs.existsSync(fixturePath(name))) {
writeFixture(name, serializedState);
console.warn("Wrote new fixture: ", fixturePath(name));
}
const readSerializedState = readFixture(name);
const secondStore = getStore();
secondStore.dispatch({
type: LOAD_SERIALIZED_STATE,
serializedState: readSerializedState
});
expect(selector(secondStore.getState())).toEqual(expected);
});
}
const defaultSerializedState = Selectors.getSerlializedState(
getStore().getState()
);
function getStore() {
const extras = {};
const enhancer = applyMiddleware(thunk.withExtraArgument(extras));
return createStore(reducer, enhancer);
}
describe("can serialize", () => {
test("the initial state", () => {
const store = getStore();
const serializedState = Selectors.getSerlializedState(store.getState());
expect(serializedState).toMatchSnapshot();
const newStore = getStore();
newStore.dispatch({
type: LOAD_SERIALIZED_STATE,
serializedState
});
expect(store.getState()).toEqual(newStore.getState());
});
/* Media */
testSerialization({
name: "volume",
action: Actions.setVolume(50),
selector: Selectors.getVolume,
expected: 50
});
testSerialization({
name: "balance",
action: Actions.setBalance(40),
selector: Selectors.getBalance,
expected: 40
});
testSerialization({
name: "shuffle",
action: Actions.toggleShuffle(),
selector: Selectors.getShuffle,
expected: true
});
testSerialization({
name: "repeat",
action: Actions.toggleRepeat(),
selector: Selectors.getRepeat,
expected: true
});
/* Equalizer */
testSerialization({
name: "equalizer on",
action: Actions.toggleEq(),
selector: Selectors.getEqualizerEnabled,
expected: false
});
testSerialization({
name: "equalizer auto",
action: Actions.toggleEqAuto(),
selector: Selectors.getEqualizerAuto,
expected: true
});
testSerialization({
name: "equalizer band",
action: Actions.setEqBand(60, 100),
selector: state => Selectors.getSliders(state)[60],
expected: 100
});
testSerialization({
name: "equalizer preamp",
action: Actions.setPreamp(10),
selector: state => Selectors.getSliders(state).preamp,
expected: 10
});
/* Display */
testSerialization({
name: "double mode",
action: Actions.toggleDoubleSizeMode(),
selector: Selectors.getDoubled,
expected: true
});
testSerialization({
name: "llama mode",
action: Actions.toggleLlamaMode(),
selector: Selectors.getLlamaMode,
expected: true
});
// TODO
// * marqueeStep
// * skinImages
// * skinCursors
// * skinRegion
// * skinGenLetterWidths
// * skinColors
// * skinPlaylistStyle
// * focused
/* Gen Windows */
testSerialization({
name: "window size",
action: Actions.setWindowSize("playlist", [4, 5]),
selector: state => Selectors.getWindowSize(state)("playlist"),
expected: [4, 5]
});
testSerialization({
name: "window open",
action: Actions.closeWindow("playlist"),
selector: state => Selectors.getWindowOpen(state)("playlist"),
expected: false
});
testSerialization({
name: "window hidden",
action: Actions.hideWindow("playlist"),
selector: state => Selectors.getWindowHidden(state)("playlist"),
expected: true
});
testSerialization({
name: "window shade",
action: Actions.toggleEqualizerShadeMode(),
selector: state => Selectors.getWindowShade(state)("equalizer"),
expected: true
});
testSerialization({
name: "main window position",
action: Actions.updateWindowPositions({ main: { x: 100, y: 100 } }),
selector: state => Selectors.getWindowPosition(state)("main"),
expected: { x: 100, y: 100 }
});
testSerialization({
name: "focused window",
action: Actions.setFocusedWindow("equalizer"),
selector: state => Selectors.getFocusedWindow(state),
expected: "equalizer"
});
});

View file

@ -61,6 +61,7 @@
"@types/classnames": "^2.2.6",
"@types/invariant": "^2.2.29",
"@types/jest": "^23.3.2",
"@types/lodash": "^4.14.116",
"@types/react": "^16.4.14",
"@types/react-dom": "^16.0.7",
"@types/react-redux": "^6.0.8",
@ -98,6 +99,7 @@
"jest-runner-eslint": "^0.4.0",
"jsmediatags": "^3.8.1",
"jszip": "^3.1.3",
"lodash": "^4.17.11",
"milkdrop-preset-converter-aws": "^0.1.0",
"prettier": "^1.14.2",
"prop-types": "^15.5.10",

View file

@ -733,6 +733,10 @@
version "23.3.2"
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.2.tgz#07b90f6adf75d42c34230c026a2529e56c249dbb"
"@types/lodash@^4.14.116":
version "4.14.116"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.116.tgz#5ccf215653e3e8c786a58390751033a9adca0eb9"
"@types/node@*":
version "10.1.0"
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.1.0.tgz#2783ee1b6c47cbd4044f4a233976c1ac5fa9e942"
@ -5409,6 +5413,10 @@ lodash@^4.14.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5,
version "4.17.5"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
lodash@^4.17.11:
version "4.17.11"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
loglevel@^1.4.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.1.tgz#e0fc95133b6ef276cdc8887cdaf24aa6f156f8fa"