Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GROSS HACK] Just seeing if Timidity can work #905

Closed
wants to merge 308 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
308 commits
Select commit Hold shift + click to select a range
6ebcbec
Allow cli to be executed directly
captbaritone Jul 3, 2019
a8d83b4
Fix typo
captbaritone Jul 3, 2019
e0210fb
Pass values to functions, not variables.
captbaritone Jul 3, 2019
a83167b
Add first integration test
captbaritone Jul 3, 2019
fe76ebf
Don't share subscriptions between instances
captbaritone Jul 3, 2019
b87bacc
Setup multi version test
captbaritone Jul 3, 2019
fecc92e
Don't use Buffer outside of MakiFile
captbaritone Jul 5, 2019
1a1ffc8
Error on invalid arg type
captbaritone Jul 5, 2019
da4f14c
Start writing MakiFile to use a Uint8Array under the hood
captbaritone Jul 5, 2019
8216ed3
Get rid of props
captbaritone Jul 5, 2019
02e4db6
Homonyms, how do they work?
captbaritone Jul 5, 2019
d89e9a0
add simple skin (#801)
jberg Jul 6, 2019
e0da85c
Move the maki-interpreter experiment into the modern experiment
captbaritone Jul 6, 2019
0d906a0
Don't use buffer when parsing maki
captbaritone Jul 6, 2019
6528d4d
Use the name "data"
captbaritone Jul 6, 2019
5e5703b
Split out function for formatting ids
captbaritone Jul 6, 2019
f49074c
Handle unknown objects better
captbaritone Jul 6, 2019
8621ca0
Add commented version of interpreting maki
captbaritone Jul 6, 2019
de1b535
Improve error message for missing classes
captbaritone Jul 6, 2019
88b67e3
Move binding logic into Variable
captbaritone Jul 8, 2019
974c903
Pull local functions into their own thing
captbaritone Jul 9, 2019
2f6f193
Inline calculating position
captbaritone Jul 9, 2019
eae24a1
Extract version info
captbaritone Jul 9, 2019
10fa928
add basic maki operator tests (#802)
jberg Jul 10, 2019
e4ae012
Consolidate line
captbaritone Jul 12, 2019
28f5d09
Add missing opcodes
captbaritone Jul 12, 2019
b1fdd62
Start running basic test
captbaritone Jul 12, 2019
0be6a8e
Compensate for the upcoming i++
captbaritone Jul 12, 2019
417e22f
Allow parser.js to run in the browserFor some reason object destructu…
captbaritone Jul 12, 2019
c9fc58e
Reenable tests
captbaritone Jul 12, 2019
25bd25f
Inject logger
captbaritone Jul 12, 2019
549a0d7
Implement more operators and add debugger
captbaritone Jul 12, 2019
4b3323c
check type on modulo (#803)
jberg Jul 12, 2019
9fc8d49
Use a reducer to update state
captbaritone Jul 12, 2019
56547a7
Improve debugging
captbaritone Jul 12, 2019
bf5c3e9
Fix initial paused state
captbaritone Jul 12, 2019
4e880ab
implement more operators and coerce types (#804)
jberg Jul 12, 2019
c642b18
More basic tests (#805)
jberg Jul 12, 2019
c0caa5f
simplify type coercion / fix destructuring related error (#807)
jberg Jul 12, 2019
e6f67cf
Reference correct skin in utils test
captbaritone Jul 13, 2019
a9fb863
add simple function tests, run wa5 tests (#806)
jberg Jul 13, 2019
b73f911
Run prettier
captbaritone Jul 13, 2019
ea7b2d7
remove integer checking (#808)
jberg Jul 14, 2019
7ba86cf
fix tests, sprinkle more async/await (#809)
jberg Jul 14, 2019
4330331
Commands only have a single argument
captbaritone Jul 14, 2019
50fdc85
Be consistent with ordering of a and b, even when it does not matter
captbaritone Jul 14, 2019
3253499
Don't log the "done" promise
captbaritone Jul 14, 2019
a1c49d2
Abstract how we handle two argument operators.
captbaritone Jul 14, 2019
e0036cb
tweak 2 arg operatores and coercion (#810)
jberg Jul 15, 2019
fdef7b8
measure image if we don't have node attributes to use (#811)
jberg Jul 15, 2019
333bebe
Speed up running scripts in the debugger
captbaritone Jul 15, 2019
ac31fb6
fix button image rendering and handle layout without x/y (#812)
jberg Jul 17, 2019
fe569b8
Pause before the first command
captbaritone Jul 16, 2019
31a6a26
Add messages section
captbaritone Jul 16, 2019
7d76a57
Move runtime to toplevel
captbaritone Jul 17, 2019
5343180
more function and scope tests (#813)
jberg Jul 18, 2019
e887733
Avoid annoying message when running yarn commands
captbaritone Jul 20, 2019
8b5e020
Add utility function for getting binary arrays out of zips
captbaritone Jul 20, 2019
5cc12d4
Prettier
captbaritone Jul 20, 2019
2c62e41
Inline readUInt32LE
captbaritone Jul 20, 2019
aaf490b
Remove unused data about localFunctions
captbaritone Jul 20, 2019
ad4c95d
Don't leak data from constants outside of the parserEventually we wil…
captbaritone Jul 20, 2019
b44c825
Make it more clear that func and line get the same info
captbaritone Jul 20, 2019
2cd23e7
Consolidate cases that get a variable offset
captbaritone Jul 20, 2019
ea3a7b4
Use signed ints for function offsets
captbaritone Jul 20, 2019
3debd37
Remove try/catch blocks
captbaritone Jul 20, 2019
9f04b71
Clean up test format
captbaritone Jul 20, 2019
386d46b
Add comments in places where we await because of #814
captbaritone Jul 20, 2019
c8ec4e4
Bump lodash from 4.17.11 to 4.17.13 (#816)
dependabot[bot] Jul 20, 2019
3cfd927
lookup command opcodes in debugger (#817)
jberg Jul 20, 2019
06f3a47
Add runtime version and remove version check hacks (#818)
jberg Jul 20, 2019
d12bbca
Prettier
captbaritone Jul 20, 2019
76e472a
Introduce asyncDepthFirstFlatMap
captbaritone Jul 20, 2019
d99f8c1
Assert which files get read from the zip
captbaritone Jul 20, 2019
d4634d7
Move offset mapping entirely into the parser
captbaritone Jul 21, 2019
028858e
Inline includes (#819)
captbaritone Jul 21, 2019
cd2f8e7
Improve parser tests
captbaritone Jul 21, 2019
0e1f94b
Consolidate maki and mordern skin reference files
captbaritone Jul 21, 2019
41553c5
Make the VM sync
captbaritone Jul 23, 2019
1c240e9
Make the VM a generator
captbaritone Jul 24, 2019
c03783e
Add the ability to inject a command handler into the interpreter
captbaritone Jul 24, 2019
f58f994
Rewrite the debugger to use the generator approach to pausing code
captbaritone Jul 24, 2019
3d876c5
Don't resume on removing a breakpoint
captbaritone Jul 24, 2019
19781e3
Move paused into the reducer
captbaritone Jul 24, 2019
d30e0a6
Get the first set of internal state right away
captbaritone Jul 24, 2019
7b3026e
Unwrap program
captbaritone Jul 24, 2019
18e198a
Clean up and document the generator approach
captbaritone Jul 24, 2019
cf09ea7
Start sketching out initialization (#815)
captbaritone Jul 31, 2019
0d16df9
working on initialize and linking groupdefs (#820)
jberg Jul 31, 2019
9a50a92
Clean up and document the generator approach
captbaritone Jul 24, 2019
2cd0897
Fix a few variable names I forgot to update
captbaritone Aug 1, 2019
6304537
Initialize maki object tree (#823)
jberg Aug 2, 2019
c93daf8
remove checking current hooks for event handling (#824)
jberg Aug 2, 2019
6454952
Handle MAKI functions being case insensitive (#825)
jberg Aug 2, 2019
cc386e0
add more maki objects and functions for corner amp to work (#826)
jberg Aug 2, 2019
23e783c
fix variable unboxing issue, move all unboxing to single method (#827)
jberg Aug 3, 2019
c401f81
remove registry, use tree lookups (#828)
jberg Aug 4, 2019
b2267d5
Use getclassname to avoid dependency cyle
captbaritone Aug 5, 2019
7cb1e45
Migrate to ES6 modules
captbaritone Aug 5, 2019
596af53
add events on GuiObjects (#830)
jberg Aug 6, 2019
931ba4d
Fix getclassname typo (#832)
jberg Aug 6, 2019
42a409f
Fix debugger variables
captbaritone Aug 6, 2019
aedd8e4
Modern integration (#833)
captbaritone Aug 6, 2019
dfdffb3
Fix lint errors in skin-database
captbaritone Aug 6, 2019
cac2672
Bump ecstatic from 3.2.0 to 3.3.2 (#836)
dependabot[bot] Aug 6, 2019
da1ad12
Bump lodash from 4.17.11 to 4.17.13 in /experiments/skinArchiveTools …
dependabot[bot] Aug 6, 2019
cf16cbb
Bump stringstream from 0.0.5 to 0.0.6 (#834)
dependabot[bot] Aug 6, 2019
9656a1e
Bump lodash.template from 4.4.0 to 4.5.0 (#837)
dependabot[bot] Aug 6, 2019
828c8e6
Bump lodash from 4.17.11 to 4.17.15 in /experiments/skin-database (#838)
dependabot[bot] Aug 6, 2019
1d7e7ab
Bump handlebars from 4.1.0 to 4.1.2 (#839)
dependabot[bot] Aug 6, 2019
3d9e539
Fix auto-fixable lint errors in modern (#840)
captbaritone Aug 6, 2019
6433def
Remove xmlNode from MAKI objects (#829)
jberg Aug 8, 2019
6cca873
Upgrade eslint-plugin-prettier
captbaritone Aug 6, 2019
bc17786
Letters are cheap, lets use more of them
captbaritone Aug 6, 2019
c2160e3
I like destructuring
captbaritone Aug 6, 2019
2382c20
Decompose lexical scope walking
captbaritone Aug 6, 2019
1169b25
Avoid setting minWidth to NaN
captbaritone Aug 6, 2019
f2f13e3
Fix debugger alignment
captbaritone Aug 8, 2019
9731c75
Fix monkey patching in the debugger
captbaritone Aug 8, 2019
adce725
Fix event x/y and add a few more methods (#842)
jberg Aug 8, 2019
54c6dc6
Fix hook variable passing and initial stack setup (#844)
jberg Aug 9, 2019
da4d7f8
Start using react redux hooks (#845)
captbaritone Aug 9, 2019
f799271
Swap the name of the VM and the interpreter (#843)
captbaritone Aug 10, 2019
8b91e6d
Always fire mouseup on element that had mousedown (#850)
jberg Aug 12, 2019
8628bc7
Setup update listeners to rerender react components (#848)
jberg Aug 12, 2019
2e7ef58
Fix hook eventNames to be case insensitive (#852)
jberg Aug 12, 2019
004798d
Fix initial stack values (#851)
jberg Aug 12, 2019
fc2a015
Fix event x/y by finding container node (#849)
jberg Aug 12, 2019
b713857
Fix errors when node is the top level container (#853)
jberg Aug 13, 2019
b3824d7
Refactor to functional component, and remove unused dispatch prop
captbaritone Jul 26, 2019
c23b2b4
Memoize getting track display name
captbaritone Aug 2, 2019
86684cd
Introduce Redux into the modern skin codebase
captbaritone Aug 12, 2019
1bb5195
Add the first redux action to the modern skin codebase
captbaritone Aug 12, 2019
41dc17f
Move skin fetching to thunk
captbaritone Aug 12, 2019
9db1d38
Remove commented out code
captbaritone Aug 12, 2019
08b3c8b
Use defualt property to make TypeScript happy
captbaritone Aug 12, 2019
5f4a3bf
Handle img load errors by rejecting the promise
captbaritone Aug 13, 2019
65f0646
Try to convince GitHub we are not a Perl project
captbaritone Aug 13, 2019
1c58705
Add missing import
captbaritone Aug 13, 2019
123df6c
Move volume into Redux
captbaritone Aug 13, 2019
82b685f
Add bare XML state to Redux
captbaritone Aug 13, 2019
d95e90e
Merge modern into the main Webpack config
captbaritone Aug 15, 2019
de8c147
Allow dragging files into Modern demo and allow Debugger to live on t…
captbaritone Aug 15, 2019
7a283c9
Use a Set for checking if a value exists in a collection
captbaritone Aug 15, 2019
53162a7
Add more nodes to the initialization schema
captbaritone Aug 15, 2019
810b062
Type Emitter
captbaritone Aug 15, 2019
81ca0ea
Use background for showing images
captbaritone Aug 16, 2019
f9a3818
Use mage-rendering: pixelated;
captbaritone Aug 16, 2019
e4fc867
Add all the remaining MAKI classes (#855)
jberg Aug 17, 2019
6918dbb
Test that our runtime implementaiton matches the object definitions w…
captbaritone Aug 17, 2019
067d4c1
Handle MAKI functions that need input, implement popupmenu (#854)
jberg Aug 17, 2019
449b4ac
MakiObject classname really should be Object (#860)
jberg Aug 18, 2019
a45397c
Track all missing methods
captbaritone Aug 18, 2019
fe68c78
Ensure we have no extra methods (#861)
captbaritone Aug 18, 2019
9b21ed4
Render text nodes (#863)
jberg Aug 18, 2019
1b9fd87
handle Layout where we dont have background images or dont draw them …
jberg Aug 18, 2019
7744404
Dont need to render certain MAKI nodes (#864)
jberg Aug 18, 2019
11441c3
fix container after inheritance change (#859)
jberg Aug 18, 2019
0a8a30d
Remove xml schema and warn instead of error for missing parsers (#865)
jberg Aug 18, 2019
0be6ff9
Ensure ESLint is running on Travis
captbaritone Aug 18, 2019
2365732
Turn back on linting for modern
captbaritone Aug 18, 2019
e35c85a
Remove dupes
captbaritone Aug 18, 2019
fd4b301
Clean up unused variables
captbaritone Aug 18, 2019
a8d98ee
Prefer const in modern
captbaritone Aug 18, 2019
95208d1
Don't ignore undefined variables
captbaritone Aug 18, 2019
2b4c2dc
Don't return await from async func
captbaritone Aug 18, 2019
995e161
eqeqeq
captbaritone Aug 18, 2019
0f7bf53
no-else-return
captbaritone Aug 18, 2019
287f226
Add glob dependency and allow rules that only warn
captbaritone Aug 18, 2019
0deca6f
Add unique ID to each node in the state tree
captbaritone Aug 19, 2019
52dfa68
Custom ESLint rule to validate Maki classes (#868)
captbaritone Aug 19, 2019
51f06c8
Add more modern skins that partially render (#867)
jberg Aug 19, 2019
0ea8cc6
Add a simple way to change skins
captbaritone Aug 19, 2019
b32520a
Convert null MAKI objects to global NULL value (#866)
jberg Aug 19, 2019
eda8d02
First check object type for subclass (#870)
jberg Aug 19, 2019
8ab2990
Add some more methods to classes (#871)
jberg Aug 19, 2019
39c3a25
Add more nodes to initialize (#873)
jberg Aug 19, 2019
378c9c5
Pass store into skin loading (#875)
jberg Aug 19, 2019
59689fa
Add some unimplemented methods to classes (#872)
jberg Aug 19, 2019
ceb85fa
Add delete opcode (#869)
jberg Aug 19, 2019
533d7f3
add button left/rightclick functions (#878)
jberg Aug 20, 2019
48bd60b
Refactor Marquee to use hooks
captbaritone Aug 20, 2019
6f54b5a
Use react-redux hooks in a few more places
captbaritone Aug 20, 2019
eaf9e8e
Clean up unused type
captbaritone Aug 20, 2019
2c7c449
Use react-redux hooks for Marquee
captbaritone Aug 20, 2019
3cb7de0
Inline style
captbaritone Aug 20, 2019
a0c0127
Type PlaylistTogggleButton
captbaritone Aug 20, 2019
357c139
Use hooks for main context window
captbaritone Aug 20, 2019
2e95a04
Use react-redux hooks in Time
captbaritone Aug 20, 2019
5766896
Use react-redux hooks in Shuffle
captbaritone Aug 20, 2019
cc0e1aa
Use react-redux hooks in Shade
captbaritone Aug 20, 2019
7212b9e
Use react-redux for Position and Repeat
captbaritone Aug 20, 2019
54eba23
Remove unused types
captbaritone Aug 20, 2019
7a1191c
Use react-redux hooks for MainWindow/index
captbaritone Aug 20, 2019
5407426
Fix the stop button
captbaritone Aug 20, 2019
2a57980
Make AlbumsTable a functional component
captbaritone Aug 20, 2019
6a53539
Make Desktop a functional component with hooks
captbaritone Aug 20, 2019
0b3d287
Don't allow global access to all of window
captbaritone Aug 20, 2019
983b574
Actually use useDispatch
captbaritone Aug 20, 2019
84651f4
Fix typing for Desktop
captbaritone Aug 20, 2019
0fc4aac
Fix script group finding (#877)
jberg Aug 21, 2019
bae6a56
Fix filename slashes (#880)
jberg Aug 21, 2019
e3b5031
Extract browser-only functions into Utils
captbaritone Aug 21, 2019
1a7be6b
Add flag to state indicating when skin is loaded
captbaritone Aug 22, 2019
d17333d
Add missing config classes (#874)
jberg Aug 22, 2019
66e5091
Persist skin URL to query param
captbaritone Aug 22, 2019
dac6585
Add modern integration tests (#881)
captbaritone Aug 22, 2019
e7637b3
Test method arity in standard library
captbaritone Aug 23, 2019
3af4d70
Avoid messagebox logs in our tests (#884)
captbaritone Aug 23, 2019
b67ebc2
[WIP] Give Maki objects access to Redux state (#882)
captbaritone Aug 25, 2019
b528794
Don't complain about private methods
captbaritone Aug 25, 2019
948c96d
Allow private methods in objects test
captbaritone Aug 25, 2019
83d9443
Fix lints
captbaritone Aug 25, 2019
98bcf9f
Stub Out Missing Methods (#887)
captbaritone Aug 25, 2019
8dbf348
Add some generic methods for dealing with selectors (#888)
captbaritone Aug 25, 2019
3a8f805
Set opacity and ghost at GuiObject (#885)
jberg Aug 25, 2019
10a722f
Letters are cheap
captbaritone Aug 26, 2019
3f75908
Decompose findParentNodeOfType
captbaritone Aug 26, 2019
cee3c14
Improve types
captbaritone Aug 26, 2019
34a68ae
Remove script loading from initialize (#889)
jberg Aug 26, 2019
70b9e98
Fix emitter export (#890)
jberg Aug 26, 2019
5deedf6
Bump eslint-utils from 1.4.0 to 1.4.2 (#891)
dependabot[bot] Aug 26, 2019
6383334
Try out Actions (#892)
captbaritone Aug 27, 2019
90ca3e6
Bump mixin-deep from 1.3.1 to 1.3.2 (#894)
dependabot[bot] Aug 29, 2019
513cb33
XmlNodes don't have parent references
captbaritone Aug 29, 2019
e634095
Make all Maki objects TypeScript
captbaritone Aug 29, 2019
bcfc1d8
Start adding rule to add types to maki method argument
captbaritone Aug 29, 2019
58c6c11
Automatically add some types to Maki method arguments
captbaritone Aug 29, 2019
f731c24
Remove old comment
captbaritone Aug 29, 2019
66dc33c
Remove unused code
captbaritone Aug 29, 2019
905268d
Add more tree search utilities
captbaritone Aug 29, 2019
78fd267
Fix a few type errors
captbaritone Aug 30, 2019
b2ad5f2
Add type for Container.visible
captbaritone Sep 1, 2019
bbb0e73
Use the first layout when rendering the child of a container
captbaritone Sep 1, 2019
7b7ecf2
Remove unused pos and use shorthand
captbaritone Sep 2, 2019
41ee656
Don't generalize wrapping with <GuiObjectEvents>
captbaritone Sep 3, 2019
bbb38cc
Split out unknown component into DummyComponent
captbaritone Sep 3, 2019
a408440
Extract rendering children
captbaritone Sep 3, 2019
361d357
Allow components to render their own children
captbaritone Sep 3, 2019
6262e53
Move visibility check to GuiObjectEvents
captbaritone Sep 3, 2019
bc1d4a9
Small cleanup refactor
captbaritone Sep 3, 2019
e0b7381
Only render the current layer for each container
captbaritone Sep 3, 2019
7155baf
Remove unreachable code
captbaritone Sep 3, 2019
6694fe0
Mark GuiObject.isvisible as implemented
captbaritone Sep 3, 2019
d90666e
HACK to add timidity
captbaritone Sep 6, 2019
e47a3d8
Check in all of timidity just to try it
captbaritone Sep 6, 2019
0f74ef5
Undo bad update
captbaritone Sep 6, 2019
03dca4e
Clean up old timidity stuff
captbaritone Sep 6, 2019
49b94f9
Cram timidity files somewhere they can be served
captbaritone Sep 6, 2019
db76cef
Hack timidity to allow for access to the audio context/destination
captbaritone Sep 6, 2019
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
  •  
  •  
  •  
1 change: 0 additions & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@
built/
coverage/
**/node_modules/
experiments/winamp-skin-museum/
examples/webpack/bundle.js
26 changes: 22 additions & 4 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
"import",
"no-constructor-bind",
"@typescript-eslint",
"react-hooks"
"react-hooks",
"eslint-plugin-local-rules"
],
"settings": {
"react": {
Expand All @@ -27,15 +28,32 @@
}
},
"env": {
"browser": true,
"node": true,
"amd": true,
"es6": true,
"jest": true
},
// TODO: Consider removing some of these.
// https://github.com/facebook/create-react-app/pull/1840
// Create React App and "Standard" only allow the following:
// * document
// * window
// * console
// * navigator
"globals": {
"page": true,
"browser": true
"window": true,
"document": true,
"console": true,
"navigator": true,
"alert": true,
"Blob": true,
"fetch": true,
"FileReader": true,
"Element": true,
"AudioNode": true,
"MutationObserver": true,
"Image": true,
"location": true
},
"rules": {
"no-multiple-empty-lines": [
Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
experiments/* linguist-vendored
modern/resources/* linguist-vendored
24 changes: 24 additions & 0 deletions .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: CI

on: [push]

jobs:
build:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [10.x, 12.x]

steps:
- uses: actions/checkout@v1
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Run Tests
run: |
yarn
yarn travis-tests
env:
CI: true
1 change: 1 addition & 0 deletions config/jest.unit.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,5 @@ module.exports = {
transform: {
"^.+\\.(js|ts|tsx)$": "babel-jest",
},
testPathIgnorePatterns: ["/node_modules/"],
};
9 changes: 8 additions & 1 deletion demo/config/webpack.common.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ module.exports = {
},
},
{
test: /\.(wsz|mp3|png|ico|jpg|svg)$/,
test: /\.(wsz|wal|mp3|png|ico|jpg|svg|mid)$/,
use: [
{
loader: "file-loader",
Expand All @@ -54,6 +54,12 @@ module.exports = {
plugins: [
new HtmlWebpackPlugin({
template: "./index.html",
chunks: ["webamp"],
}),
new HtmlWebpackPlugin({
filename: "modern/index.html",
template: "../modern/index.html",
chunks: ["modern"],
}),
// Automatically generates the manifest.json file inside the built
// directory, and injects a tag into the gererated index.html file
Expand Down Expand Up @@ -97,6 +103,7 @@ module.exports = {
},
entry: {
webamp: ["./js/index.js"],
modern: ["../modern/src/index.js"],
},
context: path.resolve(__dirname, "../"),
output: {
Expand Down
2 changes: 2 additions & 0 deletions demo/config/webpack.prod.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ const merge = require("webpack-merge");
const workboxPlugin = require("workbox-webpack-plugin");
const GitRevisionPlugin = require("git-revision-webpack-plugin");
const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer");
const CopyPlugin = require("copy-webpack-plugin");

const common = require("./webpack.common.js");

Expand Down Expand Up @@ -32,6 +33,7 @@ const config = merge(common, {
// .mp3s from service workers.
exclude: [/\.mp3/, /\.wsz/],
}),
new CopyPlugin([{ from: "timidity", to: "demo/timidity" }]),
],
});

Expand Down
126 changes: 3 additions & 123 deletions demo/js/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { Track, AppState } from "../../js/types";
// @ts-ignore
import llamaAudio from "../mp3/llama-2.91.mp3";
import { DeepPartial } from "redux";
import pokemonTheme from "../mp3/Pokemon - Pokemon Center Theme.mid";

interface Config {
initialTracks?: Track[];
Expand Down Expand Up @@ -29,134 +30,13 @@ if (config.audioUrl && !config.initialTracks) {
export const skinUrl = config.skinUrl === undefined ? null : config.skinUrl;

// https://freemusicarchive.org/music/netBloc_Artists/netBloc_Vol_24_tiuqottigeloot/
const album = "netBloc Vol. 24: tiuqottigeloot";

export const initialTracks = config.initialTracks || [
{
metaData: { artist: "DJ Mike Llama", title: "Llama Whippin' Intro" },
url: llamaAudio,
metaData: { artist: "Nintendo", title: "Pokemon Theme" },
url: pokemonTheme,
duration: 5.322286,
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/Diablo_Swing_Orchestra_-_01_-_Heroines.mp3",
duration: 322.612245,
metaData: {
title: "Heroines",
artist: "Diablo Swing Orchestra",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/Eclectek_-_02_-_We_Are_Going_To_Eclecfunk_Your_Ass.mp3",
duration: 190.093061,
metaData: {
title: "We Are Going To Eclecfunk Your Ass",
artist: "Eclectek",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/Auto-Pilot_-_03_-_Seventeen.mp3",
duration: 214.622041,
metaData: {
title: "Seventeen",
artist: "Auto-Pilot",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/Muha_-_04_-_Microphone.mp3",
duration: 181.838367,
metaData: {
title: "Microphone",
artist: "Muha",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/Just_Plain_Ant_-_05_-_Stumble.mp3",
duration: 86.047347,
metaData: {
title: "Stumble",
artist: "Just Plain Ant",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/Sleaze_-_06_-_God_Damn.mp3",
duration: 226.795102,
metaData: {
title: "God Damn",
artist: "Sleaze",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/Juanitos_-_07_-_Hola_Hola_Bossa_Nova.mp3",
duration: 207.072653,
metaData: {
title: "Hola Hola Bossa Nova",
artist: "Juanitos",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/Entertainment_for_the_Braindead_-_08_-_Resolutions_Chris_Summer_Remix.mp3",
duration: 314.331429,
metaData: {
title: "Resolutions (Chris Summer Remix)",
artist: "Entertainment for the Braindead",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/Nobara_Hayakawa_-_09_-_Trail.mp3",
duration: 204.042449,
metaData: {
title: "Trail",
artist: "Nobara Hayakawa",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/Paper_Navy_-_10_-_Tongue_Tied.mp3",
duration: 201.116735,
metaData: {
title: "Tongue Tied",
artist: "Paper Navy",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/60_Tigres_-_11_-_Garage.mp3",
duration: 245.394286,
metaData: {
title: "Garage",
artist: "60 Tigres",
album,
},
},
{
url:
"https://raw.githubusercontent.com/captbaritone/webamp-music/4b556fbf/CM_aka_Creative_-_12_-_The_Cycle_Featuring_Mista_Mista.mp3",
duration: 221.44,
metaData: {
title: "The Cycle (Featuring Mista Mista)",
artist: "CM aka Creative",
album,
},
},
];

export const disableMarquee = config.disableMarquee || false;
Expand Down
Binary file added demo/mp3/Pokemon - Pokemon Center Theme.mid
Binary file not shown.
5 changes: 5 additions & 0 deletions demo/timidity/.npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
.travis.yml
exports-runtime.json
exports.json
libtimidity/
tools/
3 changes: 3 additions & 0 deletions demo/timidity/.travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
language: node_js
node_js:
- lts/*
Binary file added demo/timidity/Drum_000/025_Snare_Roll.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/026_Snap.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/027_High_Q.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/031_Sticks.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/032_Square_Click.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/033_Metronome_Click.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/034_Metronome_Bell.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/035_Kick_1.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/036_Kick_2.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/037_Stick_Rim.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/038_Snare_1.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/039_Clap_Hand.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/040_Snare_2.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/041_Tom_Low_2.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/042_Hi-Hat_Closed.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/043_Tom_Low_1.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/044_Hi-Hat_Pedal.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/045_Tom_Mid_2.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/046_Hi-Hat_Open.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/047_Tom_Mid_1.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/048_Tom_High_2.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/049_Cymbal_Crash_1.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/050_Tom_High_1.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/051_Cymbal_Ride_1.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/052_Cymbal_Chinese.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/053_Cymbal_Ride_Bell.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/054_Tombourine.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/055_Cymbal_Splash.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/056_Cow_Bell.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/057_Cymbal_Crash_2.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/058_Vibra-Slap.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/059_Cymbal_Ride_2.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/060_Bongo_High.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/061_Bongo_Low.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/062_Conga_High_1_Mute.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/063_Conga_High_2_Open.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/064_Conga_Low.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/065_Timbale_High.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/066_Timbale_Low.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/067_Agogo_High.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/068_Agogo_Low.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/069_Cabasa.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/070_Maracas.pat
Binary file not shown.
Binary file not shown.
Binary file added demo/timidity/Drum_000/072_Whistle_2_Low_Long.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/073_Guiro_1_Short.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/074_Guiro_2_Long.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/075_Claves.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/076_Wood_Block_1_High.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/077_Wood_Block_2_Low.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/078_Cuica_1_Mute.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/079_Cuica_2_Open.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/080_Triangle_1_Mute.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/081_Triangle_2_Open.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/082_Shaker.pat
Binary file not shown.
Binary file added demo/timidity/Drum_000/084_Belltree.pat
Binary file not shown.
20 changes: 20 additions & 0 deletions demo/timidity/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
The MIT License (MIT)

Copyright (c) Feross Aboukhadijeh

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Loading