Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
165 commits
Select commit Hold shift + click to select a range
7b9328b
Create README.md
Sep 1, 2018
774ca35
Update README.md
Sep 1, 2018
57d613d
Update README.md
Sep 1, 2018
12db3f0
Delete .DS_Store
Sep 1, 2018
4f0d182
Merge branch 'master' of github.com:zachwinter/kaleidosync
Sep 3, 2018
525160f
Updates.
Sep 5, 2018
43270ba
Updates.
Sep 5, 2018
2c157a0
README
Sep 5, 2018
07afbbc
2.0
Nov 1, 2018
6bed462
README
Nov 1, 2018
7038459
removal of .DS_Store
Nov 1, 2018
07b8e16
Formatting
Nov 1, 2018
077690f
Create LICENSE.md
Nov 3, 2018
d6e96d5
Update package.json
Nov 3, 2018
849d24c
Ver. 3.0
Jan 14, 2019
30b78fa
Ver. 3.0
Jan 14, 2019
29ad18e
Fixed typo.
Jan 14, 2019
f1e4b8e
Removed remaining mutations from `Kaleidosync` class and into mutator…
Jan 14, 2019
1744fe8
Minor change
Jan 14, 2019
9d4b5fc
Added easing functions; added automatic API token refresh.
Jan 15, 2019
06d6b7d
Formatting
Jan 15, 2019
ada2ce7
Formatting; `catch` fetch calls.
Jan 15, 2019
63e343e
Formatting.
Jan 15, 2019
8e99f46
Formatting.
Jan 15, 2019
dac1f03
Keywords.
Jan 15, 2019
df8c6a9
Keywords.
Jan 15, 2019
8b642ef
Visual adjustments.
Jan 15, 2019
2fe134e
Shape drawing abstractions, misc. visual tweaks.
Jan 15, 2019
63abb65
Formatting.
Jan 15, 2019
1a5c663
Star + shape drawing refactor.
Jan 15, 2019
19b80c8
Star + shape drawing refactor.
Jan 15, 2019
db7c633
Minor changes, bug fixes.
Jan 15, 2019
f268ac6
Easing change.
Jan 17, 2019
e3fa48f
webpack config; polyfills; cleanup
Jan 30, 2019
d25be39
Reorganization.
Jan 30, 2019
c46371f
Reorganization.
Jan 30, 2019
869700c
README
Jan 30, 2019
20eb75e
Cleanup.
Jan 30, 2019
9dd6f56
Cleanup.
Jan 30, 2019
ebb624f
webpack config
Jan 30, 2019
f9befcf
3.4.0
Feb 1, 2019
82fd942
V.4.0
Sep 2, 2019
5e5b4bb
README
Sep 2, 2019
aa6fbaa
Link fix.
Sep 2, 2019
3c935f1
Minor cleanup.
Sep 2, 2019
30649c2
cleanup
Sep 2, 2019
436b286
package.json cleanup
Sep 2, 2019
ab73400
multi-viz cleanup.
Sep 2, 2019
86090ac
visual fix on `trails` sketch
Sep 2, 2019
7d3bbc3
Replaced an existing visualizer with a new one. Improved authentication.
Sep 2, 2019
f4e2983
updated method of determining initial track progress
Sep 2, 2019
13e0c4f
trails sketch refactor / updates
Sep 2, 2019
a87abab
misc. updates
Sep 4, 2019
0d88804
visual sketch updates, error handling
Sep 4, 2019
1641a56
misc. updates and improvements
Sep 6, 2019
78aa9e5
trails tweak
Sep 6, 2019
73dc2ce
trails updates; analytics bgs
Sep 7, 2019
20836a4
fixes
Sep 7, 2019
c820e48
temp fix
Sep 7, 2019
a128cfd
enabled gui
Sep 7, 2019
bfecbb2
enum change
Sep 7, 2019
44febe8
customization now persists
Sep 7, 2019
88ddd56
trails state bug fixes
Sep 8, 2019
26f7628
cleanup
Sep 8, 2019
ce6a2f9
fixed visualizer fill bug
Sep 9, 2019
f5e36d8
removed dist
Sep 9, 2019
3ce8df4
v4.1.0
Sep 18, 2019
5ee64de
removed debugger
Sep 18, 2019
8307e46
sketch updates
Sep 19, 2019
8220940
updated package lock
Sep 19, 2019
76dce01
cleanup / error handling
Oct 7, 2019
9f6d721
Decreased API polling frequency.
Apr 4, 2020
261d56e
Initialization bug.
Apr 4, 2020
7443039
Added social link.
Apr 5, 2020
35c1514
Added social link, catch for 429.
Apr 6, 2020
22190d9
v5.0.0
Apr 9, 2020
d5df698
v5.0.0
Apr 9, 2020
4d66cc4
v5.0.0
Apr 9, 2020
5d0a80b
5.0.0
Apr 9, 2020
1b31ba6
Re-added GA, other small tweaks.
Apr 9, 2020
641effc
5.1.0
Apr 11, 2020
2fef696
5.1.1
Apr 11, 2020
5a42be4
5.1.2
Apr 11, 2020
7003886
5.1.2
Apr 11, 2020
418e2df
5.1.3
Apr 12, 2020
82b5c9d
Updated localstorage key.
Apr 12, 2020
4a6549f
Added `trails` key to vuex-persist
Apr 12, 2020
007d6c3
shit
Apr 14, 2020
94f7ddf
CSS fix.
Apr 14, 2020
08c352c
Refactor.
Apr 15, 2020
1474b7c
Merge branch 'refactor'
Apr 15, 2020
8e8d876
localstorage
Apr 15, 2020
bdfb0ee
Compensating for rate limiting.
Apr 15, 2020
e0a5b11
5.3.0
Apr 22, 2020
01ab69f
5.3.0
Apr 22, 2020
610366a
5.3.1
Apr 22, 2020
807d4c2
5.3.2
Apr 22, 2020
d56ca37
3.5.2
Apr 22, 2020
58398ef
5.3.2
Apr 22, 2020
42bb6d9
Fix.
Apr 22, 2020
71892fc
5.3.3
Apr 22, 2020
d42b43a
5.3.4
Apr 22, 2020
bd56720
5.3.5
Apr 22, 2020
7e90c08
5.3.6
Apr 22, 2020
c58cdc6
Minor fix.
Apr 22, 2020
8da063c
Minor fix.
Apr 22, 2020
f209881
5.3.7
Apr 22, 2020
f197c61
Fix.
Apr 22, 2020
d25df97
5.4.0
Apr 29, 2020
1636a25
5.4.0
Apr 29, 2020
d92b149
5.4.0
Apr 29, 2020
8cb9389
5.5.0
May 1, 2020
4db54fc
5.6.0
May 2, 2020
4fa8765
5.6.1
May 2, 2020
e07ae4e
5.7.0
May 2, 2020
2a21c8e
5.7.1
May 2, 2020
c07f63e
5.7.2
May 2, 2020
1d8d0a6
5.7.3
May 11, 2020
455b7fb
5.7.3
May 11, 2020
d6422b4
AdSense.
May 19, 2020
8f666d9
5.8.0
May 30, 2020
ba44ebd
Sketch update.
Jun 5, 2020
422fe57
ogimage
Jun 10, 2020
ddd5052
5.9.0
Jul 2, 2020
a13f6cf
Shader fix.
Jul 2, 2020
a5df16f
Adsense requirements
Jul 8, 2020
bd65792
Homepage.
Jul 8, 2020
bdbc386
Updated privacy policy.
Jul 9, 2020
ef5544c
Temp.
Jul 10, 2020
3706033
Minor cleanup.
Jul 15, 2020
f9ae8e6
Beta CTAs
Jul 16, 2020
046af60
6.0.0
Dec 31, 2020
4dd7bdd
6.0.1
Dec 31, 2020
fbe1790
6.0.2
Dec 31, 2020
1e004bb
6.0.2
Dec 31, 2020
b133357
6.0.2
Dec 31, 2020
f332c24
6.0.3
Dec 31, 2020
0a143ee
Auth fix.
Dec 31, 2020
5a0268e
6.0.4
Dec 31, 2020
5d789ad
6.1.0
Dec 31, 2020
99b345b
6.2.0
Jan 1, 2021
6c3311e
6.2.1
Jan 2, 2021
6c66edd
6.2.2
Jan 3, 2021
630f6cf
6.2.3
Jan 5, 2021
31936c8
6.1.0
Jan 6, 2021
0bbb932
6.1.0
Jan 6, 2021
096a0c4
6.1.1
Jan 6, 2021
1fc8ad4
6.1.2
Jan 7, 2021
829ff1e
6.1.3
Jan 7, 2021
a2a8f59
6.1.4
Jan 7, 2021
fe7719f
6.1.4
Jan 7, 2021
7c218ec
6.1.4
Jan 7, 2021
60a6cf5
6.1.4
Jan 7, 2021
e38ad9a
6.1.5
Jan 10, 2021
dccec30
6.1.5
Jan 11, 2021
1e169be
6.1.6
Jan 30, 2021
6136f79
6.1.7
Jan 31, 2021
e067671
Updated.
Sep 4, 2021
49ceaaa
6.2.0
Sep 4, 2021
12c6129
6.2.1
Sep 4, 2021
26eb48a
6.2.2
Sep 4, 2021
862103d
6.2.3
Sep 4, 2021
e895a78
Legacy.
Sep 5, 2021
7a2cf0d
Legacy.
Sep 5, 2021
76768d1
Bump follow-redirects from 1.14.3 to 1.14.8
dependabot[bot] Feb 12, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
Binary file removed .DS_Store
Binary file not shown.
3 changes: 3 additions & 0 deletions .browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
> 1%
last 2 versions
not dead
17 changes: 17 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
module.exports = {
root: true,
env: {
node: true
},
'extends': [
'plugin:vue/essential',
'eslint:recommended'
],
parserOptions: {
parser: 'babel-eslint'
},
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
}
}
25 changes: 25 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
.DS_Store
node_modules
/dist


# local env files
.env.local
.env.*.local

# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*

# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

.env
4 changes: 4 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@fortawesome:registry=https://npm.fontawesome.com/
//npm.fontawesome.com/:_authToken=${FONT_AWESOME}
//registry.npmjs.org/:_authToken=${NPM_AUTH}
//npm.pkg.github.com/:_authToken=${GITHUB_AUTH}
68 changes: 68 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@

# kaleidosync
> A WebGL Spotify visualizer made with [Vue](https://github.com/vuejs/vue), [D3](https://github.com/d3/d3), and [Three.js](https://github.com/mrdoob/three.js/).

#### Try it out at [www.kaleidosync.com](https://www.kaleidosync.com)!

## Background
The Echo Nest represents the comprehensive algorithmic analysis of music. Having been acquired by Spotify, their analysis resources are available via the [Spotify API](https://developer.spotify.com/documentation/web-api/reference/tracks/get-audio-analysis/). Each song within Spotify's library has been fully analyzed: broken up into individual beats, segments, tatums, bars, and sections. There are variables assigned to describe pitch, timbre, and more esoteric descriptors like mood and "danceability." It's even possible to derive realtime volume information, all without processing the audio stream directly.

This project is my take on using this data to produce visual experiences using the power of WebGL.

## Running Locally
As of version 6.0.0 you won't be able to run this project locally in any reasonable/useful way due to how coupled it is with my (unpublished) shader authoring tools. If you absolutely must get this running on your machine, feel free to reach out to me and I'll walk you through the hurdles and what you'll need to build in order for it to be useful.

## Changelog
> #### Version 6.1
* Introduces dev mode, allowing live-editing of shaders and the creation of editable uniforms.

> #### Version 6.0
* Complete re-write.
* Sketches have been removed from the codebase and are now stored in a database.
* New architecture connects directly with my visualizer authoring tools, enabling the publishing of new visualizers with the push of a button.
* Leverages the Spotify Web Playback SDK ([when available](https://developer.spotify.com/documentation/web-playback-sdk/#supported-browsers)), and falls back to legacy polling in browsers that are unsupported.

> #### Version 5.5
* Cleanup / bug fixes.
* There are now 8 visualizers to choose from.

> #### Version 5.4
* Reduces the complexity of adding new visualizers.
* Reverts back to the traditional polling when running the dev server.
* Surfaces a control interface for WebGL scenes.

> #### Version 5.3
* There are now 7 visualizers to choose from.

> #### Version 5.2
* Refactor / rate limit debugging.

> #### Version 5.1
* There are now 6 visualizers to choose from.

> #### Version 5.0
* Major refactor.
* There are now 5 visualizers to choose from.
* Includes an interface for rendering fragment shaders.

> #### Version 4.0
* Project backbone has been abstracted away into its own library, [spotify-viz](https://github.com/zachwinter/spotify-viz).
* Adoped [@vue/cli](https://cli.vuejs.org) for the UI layer.
* There are now 4 visualizers to choose from.
* User settings now persist when revisiting the site.
* More graceful error handling and authentication flow.
* This project now fully represents what's hosted on [www.kaleidosync.com](https://www.kaleidosync.com), instead of the bare-bones implementation that it was before.
> #### Version 3.0
* Complete refactor with no front end dependencies.
* Transitioned to webpack from gulp.
* Reactive data store using ES6 Proxies, semi-inspired by Vuex.
* (Hopefully) less spaghetti and more comments.

> #### Version 2.0
* Re-implemented with `requestAnimationFrame()`
* Now mobile-friendly, even on older devices.
* Improved tweening.
* Adjusts itself on window resize.
* More accurate syncing with Spotify, including automatic self-correction.
> #### Version 1.0
* Holy shit, it's working... kind of.
47 changes: 0 additions & 47 deletions app.js

This file was deleted.

3 changes: 3 additions & 0 deletions babel.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
module.exports = {
presets: ['@vue/cli-plugin-babel/preset']
}
90 changes: 0 additions & 90 deletions bin/www

This file was deleted.

19 changes: 0 additions & 19 deletions config.js

This file was deleted.

39 changes: 0 additions & 39 deletions gulpfile.js

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/acorn

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/atob

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/babylon

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/cleancss

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/color-support

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/concurrently

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/gulp

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/in-install

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/in-publish

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/jade

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/json5

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/loose-envify

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/mime

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/mkdirp

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/node-gyp

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/node-sass

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/nopt

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/not-in-install

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/not-in-publish

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/rimraf

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/sassgraph

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/semver

This file was deleted.

1 change: 0 additions & 1 deletion node_modules/.bin/sshpk-conv

This file was deleted.

Loading