From 10555e093f2ff445b64952b6ea7e8a1f2a19f68e Mon Sep 17 00:00:00 2001 From: Fathony Luthfillah Date: Thu, 31 Mar 2022 09:35:19 +0700 Subject: [PATCH] Set the 2nd modern iteration as only one on (modern) track. (#1166) * yarn extract-object-types (run again) * preparing to load Application.mi * avoid error about using function ins strict mode. turn this to "function" syntax to see the error/warn * embed TrueTypeFont in one CSS * add api: getAttribute * reaching zero erro at devtool Console * set color correctly. * move compiler to new project * take some yarn-scripts from sibling (modern-1) * reconfigure objectData target path * remove duplicated folder * discontinuing the 1st iteration captbaritone: it's probably time to del modern & ren modern-2: modern * set the 2nd iteration as only one on track. captbaritone: it's probably time to del modern & ren modern-2: modern * bugfix test not working: path unavailable * implement TODO * reduce warning at import jzip * solving Deploy: failed * solving deploy failed error: Unknown workspace "webamp-modern * bugfix premateur call of this._font_id * bugfix font-family : ''; prettier. Co-authored-by: Fathony --- .prettierignore | 4 +- deploy.sh | 4 +- package.json | 2 +- packages/webamp-modern-2/.eslintignore | 1 - packages/webamp-modern-2/.gitignore | 1 - packages/webamp-modern-2/README.md | 67 - .../webamp-modern-2/objectData/stdPatched.js | 63 - packages/webamp-modern-2/package.json | 29 - .../src/maki/objectData/config.json | 123 - .../src/maki/objectData/pldir.json | 269 - .../src/maki/objectData/std.json | 7243 ----------------- packages/webamp-modern-2/src/utils.ts | 160 - .../tools/extract-object-types.js | 21 - packages/webamp-modern-2/tsconfig.json | 8 - packages/webamp-modern/.babelrc | 44 - packages/webamp-modern/.eslintignore | 7 +- packages/webamp-modern/.eslintrc | 164 - .../.eslintrc.js | 2 +- packages/webamp-modern/.gitignore | 7 +- packages/webamp-modern/.prettierignore | 6 - packages/webamp-modern/README.md | 97 +- .../assets/.gitignore | 0 .../assets/CornerAmp_Redux.wal | Bin .../assets/Default_winamp3_build499.wal | Bin .../assets/MMD3.wal | Bin .../assets/WinampModern566.wal | Bin .../assets/favicon.ico | Bin packages/webamp-modern/config/jest.unit.js | 18 - .../webamp-modern/config/webpack.common.js | 74 - packages/webamp-modern/config/webpack.dev.js | 10 - packages/webamp-modern/config/webpack.prod.js | 10 - packages/webamp-modern/index.html | 13 - packages/webamp-modern/maki.md | 259 - packages/webamp-modern/package.json | 146 +- .../webamp-modern/skins/CornerAmp_Redux.wal | Bin 354604 -> 0 bytes packages/webamp-modern/skins/simple.wal | Bin 47349 -> 0 bytes .../snowpack.config.js | 0 packages/webamp-modern/src/Actions.ts | 121 - packages/webamp-modern/src/App.css | 3 - packages/webamp-modern/src/App.js | 128 - packages/webamp-modern/src/Dashboard.js | 178 - packages/webamp-modern/src/Emitter.ts | 43 - packages/webamp-modern/src/MakiRenderer.js | 585 -- packages/webamp-modern/src/Selectors.ts | 17 - .../src/UIRoot.ts | 21 + .../__snapshots__/objects.test.js.snap | 604 -- .../__snapshots__/utils.test.js.snap | 4152 ---------- .../src/__tests__/integration.test.js | 104 - .../src/__tests__/objects.test.js | 125 - .../src/__tests__/parser.test.js | 235 - .../src/__tests__/testConstants.js | 7 - .../webamp-modern/src/__tests__/utils.test.js | 151 - .../src/__tests__/virtualMachine.test.js | 101 - .../src/clip_path.html | 0 .../src/clip_path.ts | 0 .../src/components/DropTarget.tsx | 52 - .../src/dropTarget.ts | 0 packages/webamp-modern/src/index.css | 13 - .../src/index.html | 1 + packages/webamp-modern/src/index.js | 15 - .../src/index.ts | 2 + packages/webamp-modern/src/initialize.js | 254 - .../webamp-modern/src/initializeStateTree.ts | 7 - packages/webamp-modern/src/logo.svg | 7 - .../src/maki-interpreter/constants.js | 79 - .../src/maki-interpreter/interpreter.js | 360 - .../maki-interpreter/objectData/config.json | 123 - .../maki-interpreter/objectData/pldir.json | 269 - .../src/maki-interpreter/objectData/std.json | 7243 ----------------- .../maki-interpreter/objectData/stdPatched.js | 63 - .../src/maki-interpreter/objects.js | 78 - .../src/maki-interpreter/parser.js | 359 - .../src/maki-interpreter/prettyPrinter.js | 55 - .../src/maki-interpreter/readme.md | 53 - .../tools/build-typescript-interfaces.js | 65 - .../tools/extract-attributes.js | 101 - .../tools/extract-functions.js | 111 - .../tools/extract-maki-files.js | 53 - .../tools/extract-object-types.js | 21 - .../src/maki-interpreter/tools/parse-mi.js | 67 - .../maki-interpreter/tools/parse-mi.test.js | 28 - .../src/maki-interpreter/variable.js | 52 - .../src/maki-interpreter/virtualMachine.js | 40 - .../src/maki/MakiFile.ts | 0 .../src/maki/__tests__/MockSystem.ts | 0 .../TestBedSkin/images/main-bg-shadow.png | Bin .../fixtures/TestBedSkin/scripts/assertions.m | 0 .../TestBedSkin/scripts/assertions.maki | Bin .../fixtures/TestBedSkin/scripts/lib/std.mi | 0 .../__tests__/fixtures/TestBedSkin/skin.xml | 0 .../src/maki/__tests__/makiFixture.test.ts | 0 .../src/maki/constants.ts | 0 .../src/maki/interpreter.ts | 0 .../src/maki/objectData/application.json | 78 + .../src/maki}/objectData/config.json | 0 .../src/maki}/objectData/pldir.json | 0 .../src/maki}/objectData/std.json | 0 .../src/maki/objectData/stdPatched.ts | 0 .../src/maki/objectData/winampconfig.json | 8 +- .../src/maki/objects.ts | 0 .../src/maki/parser.ts | 0 .../src/maki/readme.md | 0 .../src/maki/v.ts | 0 .../src/maki/virtualMachine.js | 0 .../src/progress.html | 0 .../src/progress.ts | 0 packages/webamp-modern/src/runtime/.eslintrc | 7 - .../src/runtime/AlbumArtLayer.ts | 28 - .../src/runtime/AnimatedLayer.ts | 260 - packages/webamp-modern/src/runtime/BitList.ts | 32 - packages/webamp-modern/src/runtime/Browser.ts | 76 - packages/webamp-modern/src/runtime/Button.ts | 49 - .../webamp-modern/src/runtime/CfgGroup.ts | 52 - .../webamp-modern/src/runtime/CheckBox.ts | 36 - .../src/runtime/ComponentBucket.ts | 40 - packages/webamp-modern/src/runtime/Config.ts | 33 - .../src/runtime/ConfigAttribute.ts | 36 - .../webamp-modern/src/runtime/ConfigItem.ts | 32 - .../webamp-modern/src/runtime/Container.ts | 110 - .../webamp-modern/src/runtime/DropDownList.ts | 84 - packages/webamp-modern/src/runtime/Edit.ts | 64 - packages/webamp-modern/src/runtime/EqVis.ts | 15 - .../webamp-modern/src/runtime/FeedWatcher.ts | 26 - packages/webamp-modern/src/runtime/Form.ts | 30 - packages/webamp-modern/src/runtime/Frame.ts | 26 - packages/webamp-modern/src/runtime/Group.ts | 45 - .../webamp-modern/src/runtime/GroupList.ts | 40 - packages/webamp-modern/src/runtime/GuiList.ts | 382 - .../webamp-modern/src/runtime/GuiObject.ts | 560 -- packages/webamp-modern/src/runtime/GuiTree.ts | 246 - .../webamp-modern/src/runtime/JsElements.ts | 15 - .../webamp-modern/src/runtime/JsGammaSet.ts | 15 - .../webamp-modern/src/runtime/JsGroupDef.ts | 15 - .../webamp-modern/src/runtime/JsScript.ts | 23 - .../src/runtime/JsWinampAbstractionLayer.ts | 16 - packages/webamp-modern/src/runtime/Layer.ts | 162 - packages/webamp-modern/src/runtime/Layout.ts | 118 - .../webamp-modern/src/runtime/LayoutStatus.ts | 20 - packages/webamp-modern/src/runtime/List.ts | 52 - packages/webamp-modern/src/runtime/MakiMap.ts | 46 - .../webamp-modern/src/runtime/MakiObject.ts | 137 - packages/webamp-modern/src/runtime/Menu.ts | 66 - .../webamp-modern/src/runtime/MenuButton.ts | 36 - .../webamp-modern/src/runtime/MouseRedir.ts | 38 - packages/webamp-modern/src/runtime/PlDir.ts | 42 - packages/webamp-modern/src/runtime/PlEdit.ts | 98 - .../webamp-modern/src/runtime/PopupMenu.ts | 102 - .../webamp-modern/src/runtime/QueryList.ts | 19 - packages/webamp-modern/src/runtime/Region.ts | 61 - packages/webamp-modern/src/runtime/Slider.ts | 45 - packages/webamp-modern/src/runtime/Status.ts | 15 - packages/webamp-modern/src/runtime/System.ts | 1105 --- .../webamp-modern/src/runtime/TabSheet.ts | 24 - packages/webamp-modern/src/runtime/Text.ts | 37 - packages/webamp-modern/src/runtime/Timer.ts | 80 - packages/webamp-modern/src/runtime/Title.ts | 15 - .../webamp-modern/src/runtime/ToggleButton.ts | 24 - .../webamp-modern/src/runtime/TreeItem.ts | 156 - packages/webamp-modern/src/runtime/Vis.ts | 40 - packages/webamp-modern/src/runtime/Wac.ts | 66 - .../webamp-modern/src/runtime/WindowHolder.ts | 59 - packages/webamp-modern/src/runtime/index.ts | 114 - .../src/skin/AudioPlayer.ts | 0 .../src/skin/Bitmap.ts | 0 .../src/skin/BitmapFont.ts | 0 .../src/skin/Clippath.ts | 0 .../src/skin/Color.ts | 0 .../src/skin/ColorThemesList.ts | 0 .../src/skin/Cursor.ts | 0 .../src/skin/GammaGroup.ts | 0 .../src/skin/GammaWebGL.ts | 0 .../src/skin/ImageManager.ts | 4 + .../src/skin/PrivateConfig.ts | 0 .../src/skin/TrueTypeFont.ts | 16 +- .../src/skin/VM.ts | 0 .../src/skin/XmlObj.ts | 0 .../src/skin/makiClasses/AlbumArt.ts | 0 .../src/skin/makiClasses/AnimatedLayer.ts | 7 +- .../src/skin/makiClasses/BaseObject.ts | 0 .../src/skin/makiClasses/Button.ts | 4 + .../src/skin/makiClasses/ComponentBucket.ts | 0 .../src/skin/makiClasses/Config.ts | 0 .../src/skin/makiClasses/ConfigAttribute.ts | 0 .../src/skin/makiClasses/ConfigItem.ts | 20 +- .../src/skin/makiClasses/Container.ts | 0 .../src/skin/makiClasses/Grid.ts | 0 .../src/skin/makiClasses/Group.ts | 0 .../src/skin/makiClasses/GroupXFade.ts | 0 .../src/skin/makiClasses/GuiObj.ts | 5 + .../src/skin/makiClasses/Layer.ts | 0 .../src/skin/makiClasses/Layout.ts | 0 .../src/skin/makiClasses/LayoutStatus.ts | 0 .../src/skin/makiClasses/MakiMap.ts | 1 + .../src/skin/makiClasses/MapObj.ts | 0 .../src/skin/makiClasses/Movable.ts | 0 .../src/skin/makiClasses/PopupMenu.ts | 0 .../src/skin/makiClasses/ProgressGrid.ts | 0 .../src/skin/makiClasses/Region.ts | 10 + .../src/skin/makiClasses/Slider.ts | 0 .../src/skin/makiClasses/Status.ts | 0 .../src/skin/makiClasses/SystemObject.ts | 0 .../src/skin/makiClasses/Text.ts | 5 +- .../src/skin/makiClasses/Timer.ts | 0 .../src/skin/makiClasses/ToggleButton.ts | 0 .../src/skin/makiClasses/Vis.ts | 0 .../src/skin/makiClasses/WasabiButton.ts | 0 .../src/skin/makiClasses/WasabiFrame.ts | 0 .../src/skin/makiClasses/WasabiTitle.ts | 0 .../src/skin/makiClasses/WinampConfig.ts | 0 .../src/skin/makiClasses/WindowHolder.ts | 0 .../src/skin/parse.ts | 3 +- .../src/skin/resolver.ts | 2 + packages/webamp-modern/src/store.ts | 39 - .../src/test.html | 0 .../src/tests.ts | 0 packages/webamp-modern/src/types.ts | 44 - packages/webamp-modern/src/utils.ts | 557 +- packages/webamp-modern/static.d.ts | 5 - .../tools/build-typescript-interfaces.js | 0 .../eslint-rules/dist/proper-maki-types.js | 0 .../tools/eslint-rules/proper-maki-types.ts | 0 .../tools/extract-attributes.js | 0 .../tools/extract-functions.js | 0 .../tools/extract-maki-files.js | 0 .../tools/extract-object-types.js | 23 + .../tools/parse-mi.js | 0 .../tools/parse-mi.test.js | 9 +- packages/webamp-modern/tsconfig.json | 16 +- 228 files changed, 421 insertions(+), 30603 deletions(-) delete mode 100644 packages/webamp-modern-2/.eslintignore delete mode 100644 packages/webamp-modern-2/.gitignore delete mode 100644 packages/webamp-modern-2/README.md delete mode 100644 packages/webamp-modern-2/objectData/stdPatched.js delete mode 100644 packages/webamp-modern-2/package.json delete mode 100644 packages/webamp-modern-2/src/maki/objectData/config.json delete mode 100644 packages/webamp-modern-2/src/maki/objectData/pldir.json delete mode 100644 packages/webamp-modern-2/src/maki/objectData/std.json delete mode 100644 packages/webamp-modern-2/src/utils.ts delete mode 100644 packages/webamp-modern-2/tools/extract-object-types.js delete mode 100644 packages/webamp-modern-2/tsconfig.json delete mode 100644 packages/webamp-modern/.babelrc delete mode 100644 packages/webamp-modern/.eslintrc rename packages/{webamp-modern-2 => webamp-modern}/.eslintrc.js (77%) delete mode 100644 packages/webamp-modern/.prettierignore rename packages/{webamp-modern-2 => webamp-modern}/assets/.gitignore (100%) rename packages/{webamp-modern-2 => webamp-modern}/assets/CornerAmp_Redux.wal (100%) rename packages/{webamp-modern-2 => webamp-modern}/assets/Default_winamp3_build499.wal (100%) rename packages/{webamp-modern-2 => webamp-modern}/assets/MMD3.wal (100%) rename packages/{webamp-modern-2 => webamp-modern}/assets/WinampModern566.wal (100%) rename packages/{webamp-modern-2 => webamp-modern}/assets/favicon.ico (100%) delete mode 100644 packages/webamp-modern/config/jest.unit.js delete mode 100644 packages/webamp-modern/config/webpack.common.js delete mode 100644 packages/webamp-modern/config/webpack.dev.js delete mode 100644 packages/webamp-modern/config/webpack.prod.js delete mode 100644 packages/webamp-modern/index.html delete mode 100644 packages/webamp-modern/maki.md delete mode 100644 packages/webamp-modern/skins/CornerAmp_Redux.wal delete mode 100644 packages/webamp-modern/skins/simple.wal rename packages/{webamp-modern-2 => webamp-modern}/snowpack.config.js (100%) delete mode 100644 packages/webamp-modern/src/Actions.ts delete mode 100644 packages/webamp-modern/src/App.css delete mode 100644 packages/webamp-modern/src/App.js delete mode 100644 packages/webamp-modern/src/Dashboard.js delete mode 100644 packages/webamp-modern/src/Emitter.ts delete mode 100644 packages/webamp-modern/src/MakiRenderer.js delete mode 100644 packages/webamp-modern/src/Selectors.ts rename packages/{webamp-modern-2 => webamp-modern}/src/UIRoot.ts (94%) delete mode 100644 packages/webamp-modern/src/__tests__/__snapshots__/objects.test.js.snap delete mode 100644 packages/webamp-modern/src/__tests__/__snapshots__/utils.test.js.snap delete mode 100644 packages/webamp-modern/src/__tests__/integration.test.js delete mode 100644 packages/webamp-modern/src/__tests__/objects.test.js delete mode 100644 packages/webamp-modern/src/__tests__/parser.test.js delete mode 100644 packages/webamp-modern/src/__tests__/testConstants.js delete mode 100644 packages/webamp-modern/src/__tests__/utils.test.js delete mode 100644 packages/webamp-modern/src/__tests__/virtualMachine.test.js rename packages/{webamp-modern-2 => webamp-modern}/src/clip_path.html (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/clip_path.ts (100%) delete mode 100644 packages/webamp-modern/src/components/DropTarget.tsx rename packages/{webamp-modern-2 => webamp-modern}/src/dropTarget.ts (100%) delete mode 100644 packages/webamp-modern/src/index.css rename packages/{webamp-modern-2 => webamp-modern}/src/index.html (99%) delete mode 100644 packages/webamp-modern/src/index.js rename packages/{webamp-modern-2 => webamp-modern}/src/index.ts (99%) delete mode 100644 packages/webamp-modern/src/initialize.js delete mode 100644 packages/webamp-modern/src/initializeStateTree.ts delete mode 100644 packages/webamp-modern/src/logo.svg delete mode 100644 packages/webamp-modern/src/maki-interpreter/constants.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/interpreter.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/objectData/config.json delete mode 100644 packages/webamp-modern/src/maki-interpreter/objectData/pldir.json delete mode 100644 packages/webamp-modern/src/maki-interpreter/objectData/std.json delete mode 100644 packages/webamp-modern/src/maki-interpreter/objectData/stdPatched.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/objects.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/parser.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/prettyPrinter.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/readme.md delete mode 100644 packages/webamp-modern/src/maki-interpreter/tools/build-typescript-interfaces.js delete mode 100755 packages/webamp-modern/src/maki-interpreter/tools/extract-attributes.js delete mode 100755 packages/webamp-modern/src/maki-interpreter/tools/extract-functions.js delete mode 100755 packages/webamp-modern/src/maki-interpreter/tools/extract-maki-files.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/tools/extract-object-types.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/tools/parse-mi.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/tools/parse-mi.test.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/variable.js delete mode 100644 packages/webamp-modern/src/maki-interpreter/virtualMachine.js rename packages/{webamp-modern-2 => webamp-modern}/src/maki/MakiFile.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/__tests__/MockSystem.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/__tests__/fixtures/TestBedSkin/images/main-bg-shadow.png (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/__tests__/fixtures/TestBedSkin/scripts/assertions.m (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/__tests__/fixtures/TestBedSkin/scripts/assertions.maki (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/__tests__/fixtures/TestBedSkin/scripts/lib/std.mi (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/__tests__/fixtures/TestBedSkin/skin.xml (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/__tests__/makiFixture.test.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/constants.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/interpreter.ts (100%) create mode 100644 packages/webamp-modern/src/maki/objectData/application.json rename packages/{webamp-modern-2 => webamp-modern/src/maki}/objectData/config.json (100%) rename packages/{webamp-modern-2 => webamp-modern/src/maki}/objectData/pldir.json (100%) rename packages/{webamp-modern-2 => webamp-modern/src/maki}/objectData/std.json (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/objectData/stdPatched.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/objectData/winampconfig.json (95%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/objects.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/parser.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/readme.md (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/v.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/maki/virtualMachine.js (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/progress.html (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/progress.ts (100%) delete mode 100644 packages/webamp-modern/src/runtime/.eslintrc delete mode 100644 packages/webamp-modern/src/runtime/AlbumArtLayer.ts delete mode 100644 packages/webamp-modern/src/runtime/AnimatedLayer.ts delete mode 100644 packages/webamp-modern/src/runtime/BitList.ts delete mode 100644 packages/webamp-modern/src/runtime/Browser.ts delete mode 100644 packages/webamp-modern/src/runtime/Button.ts delete mode 100644 packages/webamp-modern/src/runtime/CfgGroup.ts delete mode 100644 packages/webamp-modern/src/runtime/CheckBox.ts delete mode 100644 packages/webamp-modern/src/runtime/ComponentBucket.ts delete mode 100644 packages/webamp-modern/src/runtime/Config.ts delete mode 100644 packages/webamp-modern/src/runtime/ConfigAttribute.ts delete mode 100644 packages/webamp-modern/src/runtime/ConfigItem.ts delete mode 100644 packages/webamp-modern/src/runtime/Container.ts delete mode 100644 packages/webamp-modern/src/runtime/DropDownList.ts delete mode 100644 packages/webamp-modern/src/runtime/Edit.ts delete mode 100644 packages/webamp-modern/src/runtime/EqVis.ts delete mode 100644 packages/webamp-modern/src/runtime/FeedWatcher.ts delete mode 100644 packages/webamp-modern/src/runtime/Form.ts delete mode 100644 packages/webamp-modern/src/runtime/Frame.ts delete mode 100644 packages/webamp-modern/src/runtime/Group.ts delete mode 100644 packages/webamp-modern/src/runtime/GroupList.ts delete mode 100644 packages/webamp-modern/src/runtime/GuiList.ts delete mode 100644 packages/webamp-modern/src/runtime/GuiObject.ts delete mode 100644 packages/webamp-modern/src/runtime/GuiTree.ts delete mode 100644 packages/webamp-modern/src/runtime/JsElements.ts delete mode 100644 packages/webamp-modern/src/runtime/JsGammaSet.ts delete mode 100644 packages/webamp-modern/src/runtime/JsGroupDef.ts delete mode 100644 packages/webamp-modern/src/runtime/JsScript.ts delete mode 100644 packages/webamp-modern/src/runtime/JsWinampAbstractionLayer.ts delete mode 100644 packages/webamp-modern/src/runtime/Layer.ts delete mode 100644 packages/webamp-modern/src/runtime/Layout.ts delete mode 100644 packages/webamp-modern/src/runtime/LayoutStatus.ts delete mode 100644 packages/webamp-modern/src/runtime/List.ts delete mode 100644 packages/webamp-modern/src/runtime/MakiMap.ts delete mode 100644 packages/webamp-modern/src/runtime/MakiObject.ts delete mode 100644 packages/webamp-modern/src/runtime/Menu.ts delete mode 100644 packages/webamp-modern/src/runtime/MenuButton.ts delete mode 100644 packages/webamp-modern/src/runtime/MouseRedir.ts delete mode 100644 packages/webamp-modern/src/runtime/PlDir.ts delete mode 100644 packages/webamp-modern/src/runtime/PlEdit.ts delete mode 100644 packages/webamp-modern/src/runtime/PopupMenu.ts delete mode 100644 packages/webamp-modern/src/runtime/QueryList.ts delete mode 100644 packages/webamp-modern/src/runtime/Region.ts delete mode 100644 packages/webamp-modern/src/runtime/Slider.ts delete mode 100644 packages/webamp-modern/src/runtime/Status.ts delete mode 100644 packages/webamp-modern/src/runtime/System.ts delete mode 100644 packages/webamp-modern/src/runtime/TabSheet.ts delete mode 100644 packages/webamp-modern/src/runtime/Text.ts delete mode 100644 packages/webamp-modern/src/runtime/Timer.ts delete mode 100644 packages/webamp-modern/src/runtime/Title.ts delete mode 100644 packages/webamp-modern/src/runtime/ToggleButton.ts delete mode 100644 packages/webamp-modern/src/runtime/TreeItem.ts delete mode 100644 packages/webamp-modern/src/runtime/Vis.ts delete mode 100644 packages/webamp-modern/src/runtime/Wac.ts delete mode 100644 packages/webamp-modern/src/runtime/WindowHolder.ts delete mode 100644 packages/webamp-modern/src/runtime/index.ts rename packages/{webamp-modern-2 => webamp-modern}/src/skin/AudioPlayer.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/Bitmap.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/BitmapFont.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/Clippath.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/Color.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/ColorThemesList.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/Cursor.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/GammaGroup.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/GammaWebGL.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/ImageManager.ts (97%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/PrivateConfig.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/TrueTypeFont.ts (76%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/VM.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/XmlObj.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/AlbumArt.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/AnimatedLayer.ts (94%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/BaseObject.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Button.ts (98%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/ComponentBucket.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Config.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/ConfigAttribute.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/ConfigItem.ts (54%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Container.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Grid.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Group.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/GroupXFade.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/GuiObj.ts (99%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Layer.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Layout.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/LayoutStatus.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/MakiMap.ts (99%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/MapObj.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Movable.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/PopupMenu.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/ProgressGrid.ts (100%) create mode 100644 packages/webamp-modern/src/skin/makiClasses/Region.ts rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Slider.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Status.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/SystemObject.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Text.ts (99%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Timer.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/ToggleButton.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/Vis.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/WasabiButton.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/WasabiFrame.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/WasabiTitle.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/WinampConfig.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/makiClasses/WindowHolder.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/parse.ts (99%) rename packages/{webamp-modern-2 => webamp-modern}/src/skin/resolver.ts (97%) delete mode 100644 packages/webamp-modern/src/store.ts rename packages/{webamp-modern-2 => webamp-modern}/src/test.html (100%) rename packages/{webamp-modern-2 => webamp-modern}/src/tests.ts (100%) delete mode 100644 packages/webamp-modern/src/types.ts delete mode 100644 packages/webamp-modern/static.d.ts rename packages/{webamp-modern-2 => webamp-modern}/tools/build-typescript-interfaces.js (100%) rename packages/{webamp-modern-2 => webamp-modern}/tools/eslint-rules/dist/proper-maki-types.js (100%) rename packages/{webamp-modern-2 => webamp-modern}/tools/eslint-rules/proper-maki-types.ts (100%) rename packages/{webamp-modern-2 => webamp-modern}/tools/extract-attributes.js (100%) rename packages/{webamp-modern-2 => webamp-modern}/tools/extract-functions.js (100%) rename packages/{webamp-modern-2 => webamp-modern}/tools/extract-maki-files.js (100%) create mode 100644 packages/webamp-modern/tools/extract-object-types.js rename packages/{webamp-modern-2 => webamp-modern}/tools/parse-mi.js (100%) rename packages/{webamp-modern-2 => webamp-modern}/tools/parse-mi.test.js (74%) diff --git a/.prettierignore b/.prettierignore index 23739656..56d06499 100644 --- a/.prettierignore +++ b/.prettierignore @@ -2,5 +2,5 @@ packages/webamp/demo/built/ packages/webamp/built/ -packages/webamp-modern-2/src/build/ -packages/webamp-modern-2/tools/eslint-rules/dist/ \ No newline at end of file +packages/webamp-modern/src/build/ +packages/webamp-modern/tools/eslint-rules/dist/ \ No newline at end of file diff --git a/deploy.sh b/deploy.sh index 905e9197..02e0737d 100755 --- a/deploy.sh +++ b/deploy.sh @@ -2,5 +2,5 @@ yarn workspace ani-cursor build yarn workspace webamp build yarn workspace webamp build-library -yarn workspace webamp-modern-2 build -mv packages/webamp-modern-2/src/build packages/webamp/demo/built/modern \ No newline at end of file +yarn workspace webamp-modern build +mv packages/webamp-modern/src/build packages/webamp/demo/built/modern \ No newline at end of file diff --git a/package.json b/package.json index f290ff15..0ec3bff3 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ ], "scripts": { "test": "jest", - "lint": "eslint . --ext ts,tsx,js,jsx --rulesdir=packages/webamp-modern-2/tools/eslint-rules", + "lint": "eslint . --ext ts,tsx,js,jsx --rulesdir=packages/webamp-modern/tools/eslint-rules", "deploy": "sh deploy.sh", "format": "prettier --write '**/*.{js,ts,tsx}'" }, diff --git a/packages/webamp-modern-2/.eslintignore b/packages/webamp-modern-2/.eslintignore deleted file mode 100644 index d1638636..00000000 --- a/packages/webamp-modern-2/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -build/ \ No newline at end of file diff --git a/packages/webamp-modern-2/.gitignore b/packages/webamp-modern-2/.gitignore deleted file mode 100644 index d1638636..00000000 --- a/packages/webamp-modern-2/.gitignore +++ /dev/null @@ -1 +0,0 @@ -build/ \ No newline at end of file diff --git a/packages/webamp-modern-2/README.md b/packages/webamp-modern-2/README.md deleted file mode 100644 index 8272b7f0..00000000 --- a/packages/webamp-modern-2/README.md +++ /dev/null @@ -1,67 +0,0 @@ -## Running locally - -Assuming you have [Yarn](https://yarnpkg.com/) installed: - -```bash -cd packages/webamp-modern-2 -yarn -yarn start -``` - -## Performance Improvements - -- [ ] We could use WebGL to try to improve the speed of switching gamma colors -- [ ] We could use some CSS techniques to avoid having to appply inline style to each BitmapFont character's DOM node. -- [ ] We should profile the parse phase to see what's taking time. Perhaps there's some sync image work that could be done lazily. -- [ ] Remove some paranoid validation in the VM. -- [ ] Consider throttling time updates coming from audio - -# TODO Next - -- [ ] Why doesn't scrolling work property in MMD3? -- [ ] Implement proper color - - [ ] Move gammacolor to GPU -- [ ] Requires VM - - [ ] Look at componentbucket (Where can I find the images) - - [ ] How is the scroll window for colors supposed to work? - - [ ] How is the position slider supposed to work? -- [ ] Standardize handling of different type condition permutations in interpreter -- [ ] Implement EQ -- [ ] Implament global actions - - [ ] TOGGLE - - [ ] MINIMIZE -- [ ] Allow for skins which don't have gamma sets -- [ ] Figure out if global NULL is actually typed as INT in Maki. I suspect there is no NULL type, but only an INT who happens to be zero. -- [ ] Fix all `// FIXME` -- [ ] SystemObject.getruntimeversion -- [ ] SystemObject.getskinname -- [ ] Handle clicking through transparent: https://stackoverflow.com/questions/38487569/click-through-png-image-only-if-clicked-coordinate-is-transparent - -# TODO Some day - -- [ ] Handle case (in)sensitivity of includes. -- [ ] Handle forward/backward slashes issues (if they exist) - -## Known Bugs - -- [ ] In GuiObj's handling of left click, it's possible for the y/x of the click event to fall outside of the element being clicked. To repro click just above the volume2 of MMD3. Y can be one pixel above the clientBoundingRect of the element. Why? - -# Phases of Initialization - -## Asset Parse - -Starting with `skin.xml`, and inlining each `` we parse XML. As we go, we initialize GUI objects and attach them to their parent. During this phase we also encounter other asset files like Maki script, images, and fonts. These are parsed as they are encountered and setaside into a look-aside table (Maki scripts might live in the tree...). - -This phase is `async` since it may require reading files from zip or doing image/font manipulation which is inherently `async`. - -## Object Initialization - -Once all look-aside tables are populated, we notify all GUI objects to initialize themselves by propogating from the root of the tree to the leaves. Each node is reponsible for notifying its children. In this phase components pull images/scripts/fonts out of their look-aside tables. [Question: Could these just be lazy?]. At this point we also hook up any event bindings/hooks that exist in Maki. - -## Maki Initialization - -Once all nodes have been initialized, we trigger/dispatch `System.onScriptLoaded` for each Maki script. - -## First paint - -Now we can begin panting diff --git a/packages/webamp-modern-2/objectData/stdPatched.js b/packages/webamp-modern-2/objectData/stdPatched.js deleted file mode 100644 index f5239c49..00000000 --- a/packages/webamp-modern-2/objectData/stdPatched.js +++ /dev/null @@ -1,63 +0,0 @@ -const std = require("./std.json"); - -const NAME_TO_DEF = {}; - -Object.values(std).forEach((value) => { - NAME_TO_DEF[value.name] = value; -}); - -function getMethod(className, methodName) { - return NAME_TO_DEF[className].functions.find(({ name }) => { - return name === methodName; - }); -} - -// Between myself and the author of the decompiler, a number of manual tweaks -// have been made to our current object definitions. This function recreates -// those tweaks so we can have an apples to apples comparison. - -/* - * From object.js - * - * > The std.mi has this set as void, but we checked in Winamp and confirmed it - * > returns 0/1 - */ -getMethod("Timer", "isRunning").result = "boolean"; - -/* - * From Object.pm - * - * > note, std.mi does not have this parameter! - */ -getMethod("ToggleButton", "onToggle").parameters[0][1] = "onoff"; - -// Some methods are not compatible with the type signature of their parent class -getMethod("GuiTree", "onChar").parameters[0][0] = "string"; -getMethod("GuiList", "onSetVisible").parameters[0][0] = "boolean"; - -// I'm not sure how to get these to match -getMethod("Wac", "onNotify").parameters = getMethod( - "Object", - "onNotify" -).parameters; -getMethod("Wac", "onNotify").result = "int"; - -/* - -Here's the error we get without that patch: - -__generated__/makiInterfaces.ts:254:18 - error TS2430: Interface 'Wac' incorrectly extends interface 'MakiObject'. - Types of property 'onnotify' are incompatible. - Type '(notifstr: string, a: number, b: number) => void' is not assignable to type '(command: string, param: string, a: number, b: number) => number'. - Types of parameters 'a' and 'param' are incompatible. - Type 'string' is not assignable to type 'number'. - -254 export interface Wac extends MakiObject { - ~~~ - - -Found 1 error. - - */ - -module.exports = std; diff --git a/packages/webamp-modern-2/package.json b/packages/webamp-modern-2/package.json deleted file mode 100644 index fd4bedb0..00000000 --- a/packages/webamp-modern-2/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "webamp-modern-2", - "version": "1.0.0", - "main": "index.js", - "license": "MIT", - "scripts": { - "start": "snowpack dev", - "build": "snowpack build", - "lint": "yarn build-lint && eslint . --ext .js,.jsx,.ts,.tsx", - "test": "yarn jest", - "build-lint": "tsup tools/eslint-rules/proper-maki-types.ts -d tools/eslint-rules/dist --no-splitting --minify" - }, - "devDependencies": { - "@types/eslint": "^7.2.14", - "@types/estree": "^0.0.50", - "@typescript-eslint/eslint-plugin": "^4.28.2", - "@typescript-eslint/parser": "^4.28.2", - "eslint": "^7.30.0", - "eslint-plugin-rulesdir": "^0.2.0", - "snowpack": "^3.5.5", - "tsup": "^4.12.5", - "typescript": "^4.3.5" - }, - "prettier": {}, - "dependencies": { - "@rgrove/parse-xml": "^3.0.0", - "jszip": "^3.6.0" - } -} diff --git a/packages/webamp-modern-2/src/maki/objectData/config.json b/packages/webamp-modern-2/src/maki/objectData/config.json deleted file mode 100644 index 9c70d82b..00000000 --- a/packages/webamp-modern-2/src/maki/objectData/config.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "593DBA22D0774976B952F4713655400B": { - "parent": "Object", - "functions": [ - { - "result": "ConfigItem", - "name": "getItem", - "parameters": [ - [ - "String", - "item_name" - ] - ] - }, - { - "result": "ConfigItem", - "name": "getItemByGuid", - "parameters": [ - [ - "String", - "item_guid" - ] - ] - }, - { - "result": "ConfigItem", - "name": "newItem", - "parameters": [ - [ - "String", - "item_name" - ], - [ - "String", - "item_guid" - ] - ] - } - ], - "name": "Config" - }, - "D40302823AAB4d87878D12326FADFCD5": { - "parent": "Object", - "functions": [ - { - "result": "ConfigAttribute", - "name": "getAttribute", - "parameters": [ - [ - "String", - "attr_name" - ] - ] - }, - { - "result": "ConfigAttribute", - "name": "newAttribute", - "parameters": [ - [ - "String", - "attr_name" - ], - [ - "String", - "default_value" - ] - ] - }, - { - "result": "String", - "name": "getGuid", - "parameters": [ - [ - "String", - "attr_name" - ] - ] - }, - { - "result": "String", - "name": "getName", - "parameters": [] - } - ], - "name": "ConfigItem" - }, - "24DEC283B76E4a368CCC9E24C46B6C73": { - "parent": "Object", - "functions": [ - { - "result": "", - "name": "setData", - "parameters": [ - [ - "String", - "value" - ] - ] - }, - { - "result": "String", - "name": "getData", - "parameters": [] - }, - { - "result": "", - "name": "onDataChanged", - "parameters": [] - }, - { - "result": "ConfigItem", - "name": "getParentItem", - "parameters": [] - }, - { - "result": "String", - "name": "getAttributeName", - "parameters": [] - } - ], - "name": "ConfigAttribute" - } -} \ No newline at end of file diff --git a/packages/webamp-modern-2/src/maki/objectData/pldir.json b/packages/webamp-modern-2/src/maki/objectData/pldir.json deleted file mode 100644 index d96969fa..00000000 --- a/packages/webamp-modern-2/src/maki/objectData/pldir.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "345BEEBC0229492190BE6CB6A49A79D9": { - "parent": "Object", - "functions": [ - { - "result": "int", - "name": "getNumTracks", - "parameters": [] - }, - { - "result": "int", - "name": "getCurrentIndex", - "parameters": [] - }, - { - "result": "int", - "name": "getNumSelectedTracks", - "parameters": [] - }, - { - "result": "int", - "name": "getNextSelectedTrack", - "parameters": [ - [ - "int", - "i" - ] - ] - }, - { - "result": "", - "name": "showCurrentlyPlayingTrack", - "parameters": [] - }, - { - "result": "", - "name": "showTrack", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "", - "name": "enqueueFile", - "parameters": [ - [ - "string", - "file" - ] - ] - }, - { - "result": "", - "name": "clear", - "parameters": [] - }, - { - "result": "", - "name": "removeTrack", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "", - "name": "swapTracks", - "parameters": [ - [ - "int", - "item1" - ], - [ - "int", - "item2" - ] - ] - }, - { - "result": "", - "name": "moveUp", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "", - "name": "moveDown", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "", - "name": "moveTo", - "parameters": [ - [ - "int", - "item" - ], - [ - "int", - "pos" - ] - ] - }, - { - "result": "", - "name": "playTrack", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "int", - "name": "getRating", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "", - "name": "setRating", - "parameters": [ - [ - "int", - "item" - ], - [ - "int", - "rating" - ] - ] - }, - { - "result": "String", - "name": "getTitle", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "String", - "name": "getLength", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "String", - "name": "getMetaData", - "parameters": [ - [ - "int", - "item" - ], - [ - "String", - "metadatastring" - ] - ] - }, - { - "result": "String", - "name": "getFileName", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "", - "name": "onPleditModified", - "parameters": [] - } - ], - "name": "PlEdit" - }, - "61A7ABAD7D7941f6B1D0E1808603A4F4": { - "parent": "Object", - "functions": [ - { - "result": "int", - "name": "getNumItems", - "parameters": [] - }, - { - "result": "String", - "name": "getItemName", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "", - "name": "showCurrentlyPlayingEntry", - "parameters": [] - }, - { - "result": "", - "name": "refresh", - "parameters": [] - }, - { - "result": "", - "name": "renameItem", - "parameters": [ - [ - "int", - "item" - ], - [ - "String", - "name" - ] - ] - }, - { - "result": "", - "name": "enqueueItem", - "parameters": [ - [ - "int", - "item" - ] - ] - }, - { - "result": "", - "name": "playItem", - "parameters": [ - [ - "int", - "item" - ] - ] - } - ], - "name": "PlDir" - } -} \ No newline at end of file diff --git a/packages/webamp-modern-2/src/maki/objectData/std.json b/packages/webamp-modern-2/src/maki/objectData/std.json deleted file mode 100644 index 3b71bd72..00000000 --- a/packages/webamp-modern-2/src/maki/objectData/std.json +++ /dev/null @@ -1,7243 +0,0 @@ -{ - "516549710D874a5191E3A6B53235F3E7": { - "parent": "@{00000000-0000-0000-0000-000000000000}@", - "functions": [ - { - "result": "String", - "name": "getClassName", - "parameters": [] - }, - { - "result": "String", - "name": "getId", - "parameters": [] - }, - { - "result": "Int", - "name": "onNotify", - "parameters": [ - [ - "String", - "command" - ], - [ - "String", - "param" - ], - [ - "int", - "a" - ], - [ - "int", - "b" - ] - ] - } - ], - "name": "Object" - }, - "D6F50F6493FA49b793F1BA66EFAE3E98": { - "parent": "Object", - "functions": [ - { - "result": "", - "name": "onScriptLoaded", - "parameters": [] - }, - { - "result": "", - "name": "onScriptUnloading", - "parameters": [] - }, - { - "result": "", - "name": "onQuit", - "parameters": [] - }, - { - "result": "", - "name": "onSetXuiParam", - "parameters": [ - [ - "String", - "param" - ], - [ - "String", - "value" - ] - ] - }, - { - "result": "", - "name": "onKeyDown", - "parameters": [ - [ - "String", - "key" - ] - ] - }, - { - "result": "", - "name": "onAccelerator", - "parameters": [ - [ - "String", - "action" - ], - [ - "String", - "section" - ], - [ - "String", - "key" - ] - ] - }, - { - "result": "", - "name": "onCreateLayout", - "parameters": [ - [ - "Layout", - "_layout" - ] - ] - }, - { - "result": "", - "name": "onShowLayout", - "parameters": [ - [ - "Layout", - "_layout" - ] - ] - }, - { - "result": "", - "name": "onHideLayout", - "parameters": [ - [ - "Layout", - "_layout" - ] - ] - }, - { - "result": "", - "name": "onViewPortChanged", - "parameters": [ - [ - "int", - "width" - ], - [ - "int", - "height" - ] - ] - }, - { - "result": "", - "name": "onStop", - "parameters": [] - }, - { - "result": "", - "name": "onPlay", - "parameters": [] - }, - { - "result": "", - "name": "onPause", - "parameters": [] - }, - { - "result": "", - "name": "onResume", - "parameters": [] - }, - { - "result": "", - "name": "onTitleChange", - "parameters": [ - [ - "String", - "newtitle" - ] - ] - }, - { - "result": "", - "name": "onTitle2Change", - "parameters": [ - [ - "String", - "newtitle2" - ] - ] - }, - { - "result": "", - "name": "onUrlChange", - "parameters": [ - [ - "String", - "url" - ] - ] - }, - { - "result": "", - "name": "onInfoChange", - "parameters": [ - [ - "String", - "info" - ] - ] - }, - { - "result": "", - "name": "onStatusMsg", - "parameters": [ - [ - "String", - "msg" - ] - ] - }, - { - "result": "", - "name": "onEqBandChanged", - "parameters": [ - [ - "int", - "band" - ], - [ - "int", - "newvalue" - ] - ] - }, - { - "result": "", - "name": "onEqPreampChanged", - "parameters": [ - [ - "int", - "newvalue" - ] - ] - }, - { - "result": "", - "name": "onEqChanged", - "parameters": [ - [ - "int", - "newstatus" - ] - ] - }, - { - "result": "", - "name": "onEqFreqChanged", - "parameters": [ - [ - "int", - "isiso" - ] - ] - }, - { - "result": "", - "name": "onVolumeChanged", - "parameters": [ - [ - "int", - "newvol" - ] - ] - }, - { - "result": "", - "name": "onSeek", - "parameters": [ - [ - "int", - "newpos" - ] - ] - }, - { - "result": "Container", - "name": "getContainer", - "parameters": [ - [ - "String", - "container_id" - ] - ] - }, - { - "result": "Container", - "name": "newDynamicContainer", - "parameters": [ - [ - "String", - "container_id" - ] - ] - }, - { - "result": "Group", - "name": "newGroup", - "parameters": [ - [ - "String", - "group_id" - ] - ] - }, - { - "result": "Layout", - "name": "newGroupAsLayout", - "parameters": [ - [ - "String", - "group_id" - ] - ] - }, - { - "result": "Int", - "name": "getNumContainers", - "parameters": [] - }, - { - "result": "Container", - "name": "enumContainer", - "parameters": [ - [ - "Int", - "num" - ] - ] - }, - { - "result": "String", - "name": "enumEmbedGUID", - "parameters": [ - [ - "int", - "num" - ] - ] - }, - { - "result": "Wac", - "name": "getWac", - "parameters": [ - [ - "String", - "wac_guid" - ] - ] - }, - { - "result": "Int", - "name": "messageBox", - "parameters": [ - [ - "String", - "message" - ], - [ - "String", - "msgtitle" - ], - [ - "Int", - "flag" - ], - [ - "String", - "notanymore_id" - ] - ] - }, - { - "result": "String", - "name": "getPlayItemString", - "parameters": [] - }, - { - "result": "Int", - "name": "getPlayItemLength", - "parameters": [] - }, - { - "result": "String", - "name": "getPlayItemMetaDataString", - "parameters": [ - [ - "String", - "metadataname" - ] - ] - }, - { - "result": "String", - "name": "getMetaDataString", - "parameters": [ - [ - "String", - "filename" - ], - [ - "String", - "metadataname" - ] - ] - }, - { - "result": "String", - "name": "getPlayItemDisplayTitle", - "parameters": [] - }, - { - "result": "Int", - "name": "getCurrentTrackRating", - "parameters": [] - }, - { - "result": "", - "name": "onCurrentTrackRated", - "parameters": [ - [ - "int", - "rating" - ] - ] - }, - { - "result": "", - "name": "setCurrentTrackRating", - "parameters": [ - [ - "int", - "rating" - ] - ] - }, - { - "result": "String", - "name": "getExtFamily", - "parameters": [ - [ - "String", - "ext" - ] - ] - }, - { - "result": "String", - "name": "getDecoderName", - "parameters": [ - [ - "string", - "playitem" - ] - ] - }, - { - "result": "", - "name": "playFile", - "parameters": [ - [ - "String", - "playitem" - ] - ] - }, - { - "result": "Int", - "name": "getAlbumArt", - "parameters": [ - [ - "String", - "playitem" - ] - ] - }, - { - "result": "", - "name": "downloadMedia", - "parameters": [ - [ - "String", - "url" - ], - [ - "String", - "destinationPath" - ], - [ - "boolean", - "wantAddToML" - ], - [ - "boolean", - "notifyDownloadsList" - ] - ] - }, - { - "result": "", - "name": "downloadURL", - "parameters": [ - [ - "String", - "url" - ], - [ - "String", - "destination_filename" - ], - [ - "String", - "progress_dialog_title" - ] - ] - }, - { - "result": "", - "name": "onDownloadFinished", - "parameters": [ - [ - "String", - "url" - ], - [ - "boolean", - "success" - ], - [ - "String", - "filename" - ] - ] - }, - { - "result": "String", - "name": "getDownloadPath", - "parameters": [] - }, - { - "result": "", - "name": "setDownloadPath", - "parameters": [ - [ - "String", - "new_path" - ] - ] - }, - { - "result": "", - "name": "enqueueFile", - "parameters": [ - [ - "String", - "playitem" - ] - ] - }, - { - "result": "Int", - "name": "getLeftVuMeter", - "parameters": [] - }, - { - "result": "Int", - "name": "getRightVuMeter", - "parameters": [] - }, - { - "result": "Int", - "name": "getVolume", - "parameters": [] - }, - { - "result": "", - "name": "setVolume", - "parameters": [ - [ - "Int", - "vol" - ] - ] - }, - { - "result": "", - "name": "play", - "parameters": [] - }, - { - "result": "", - "name": "stop", - "parameters": [] - }, - { - "result": "", - "name": "pause", - "parameters": [] - }, - { - "result": "", - "name": "next", - "parameters": [] - }, - { - "result": "", - "name": "previous", - "parameters": [] - }, - { - "result": "", - "name": "eject", - "parameters": [] - }, - { - "result": "", - "name": "seekTo", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "Int", - "name": "getPosition", - "parameters": [] - }, - { - "result": "", - "name": "setEqBand", - "parameters": [ - [ - "int", - "band" - ], - [ - "Int", - "value" - ] - ] - }, - { - "result": "", - "name": "setEqPreamp", - "parameters": [ - [ - "Int", - "value" - ] - ] - }, - { - "result": "", - "name": "setEq", - "parameters": [ - [ - "Int", - "onoff" - ] - ] - }, - { - "result": "Int", - "name": "getEqBand", - "parameters": [ - [ - "int", - "band" - ] - ] - }, - { - "result": "int", - "name": "getEqPreamp", - "parameters": [] - }, - { - "result": "int", - "name": "getEq", - "parameters": [] - }, - { - "result": "int", - "name": "getMousePosX", - "parameters": [] - }, - { - "result": "int", - "name": "getMousePosY", - "parameters": [] - }, - { - "result": "String", - "name": "integerToString", - "parameters": [ - [ - "Int", - "value" - ] - ] - }, - { - "result": "Int", - "name": "StringToInteger", - "parameters": [ - [ - "String", - "str" - ] - ] - }, - { - "result": "String", - "name": "floatToString", - "parameters": [ - [ - "float", - "value" - ], - [ - "int", - "ndigits" - ] - ] - }, - { - "result": "Float", - "name": "stringToFloat", - "parameters": [ - [ - "String", - "str" - ] - ] - }, - { - "result": "String", - "name": "integerToLongTime", - "parameters": [ - [ - "Int", - "value" - ] - ] - }, - { - "result": "String", - "name": "integerToTime", - "parameters": [ - [ - "Int", - "value" - ] - ] - }, - { - "result": "String", - "name": "dateToTime", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "String", - "name": "dateToLongTime", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "String", - "name": "formatDate", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "String", - "name": "formatLongDate", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "Int", - "name": "getDateYear", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "Int", - "name": "getDateMonth", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "Int", - "name": "getDateDay", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "Int", - "name": "getDateDow", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "Int", - "name": "getDateDoy", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "Int", - "name": "getDateHour", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "Int", - "name": "getDateMin", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "Int", - "name": "getDateSec", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "Int", - "name": "getDateDst", - "parameters": [ - [ - "Int", - "datetime" - ] - ] - }, - { - "result": "Int", - "name": "getDate", - "parameters": [] - }, - { - "result": "String", - "name": "strmid", - "parameters": [ - [ - "String", - "str" - ], - [ - "Int", - "start" - ], - [ - "Int", - "len" - ] - ] - }, - { - "result": "String", - "name": "strleft", - "parameters": [ - [ - "string", - "str" - ], - [ - "int", - "nchars" - ] - ] - }, - { - "result": "string", - "name": "strright", - "parameters": [ - [ - "string", - "str" - ], - [ - "int", - "nchars" - ] - ] - }, - { - "result": "int", - "name": "strsearch", - "parameters": [ - [ - "string", - "str" - ], - [ - "string", - "substr" - ] - ] - }, - { - "result": "int", - "name": "strlen", - "parameters": [ - [ - "string", - "str" - ] - ] - }, - { - "result": "string", - "name": "strupper", - "parameters": [ - [ - "string", - "str" - ] - ] - }, - { - "result": "string", - "name": "strlower", - "parameters": [ - [ - "string", - "str" - ] - ] - }, - { - "result": "string", - "name": "urlEncode", - "parameters": [ - [ - "string", - "url" - ] - ] - }, - { - "result": "string", - "name": "urlDecode", - "parameters": [ - [ - "string", - "url" - ] - ] - }, - { - "result": "string", - "name": "parseATF", - "parameters": [ - [ - "string", - "topass" - ] - ] - }, - { - "result": "string", - "name": "removePath", - "parameters": [ - [ - "string", - "str" - ] - ] - }, - { - "result": "string", - "name": "getPath", - "parameters": [ - [ - "string", - "str" - ] - ] - }, - { - "result": "string", - "name": "getExtension", - "parameters": [ - [ - "string", - "str" - ] - ] - }, - { - "result": "string", - "name": "getToken", - "parameters": [ - [ - "string", - "str" - ], - [ - "string", - "separator" - ], - [ - "int", - "tokennum" - ] - ] - }, - { - "result": "double", - "name": "sin", - "parameters": [ - [ - "double", - "value" - ] - ] - }, - { - "result": "double", - "name": "cos", - "parameters": [ - [ - "double", - "value" - ] - ] - }, - { - "result": "double", - "name": "tan", - "parameters": [ - [ - "double", - "value" - ] - ] - }, - { - "result": "double", - "name": "asin", - "parameters": [ - [ - "double", - "value" - ] - ] - }, - { - "result": "double", - "name": "acos", - "parameters": [ - [ - "double", - "value" - ] - ] - }, - { - "result": "double", - "name": "atan", - "parameters": [ - [ - "double", - "value" - ] - ] - }, - { - "result": "double", - "name": "atan2", - "parameters": [ - [ - "double", - "y" - ], - [ - "double", - "x" - ] - ] - }, - { - "result": "double", - "name": "pow", - "parameters": [ - [ - "double", - "value" - ], - [ - "double", - "pvalue" - ] - ] - }, - { - "result": "double", - "name": "sqr", - "parameters": [ - [ - "double", - "value" - ] - ] - }, - { - "result": "double", - "name": "log10", - "parameters": [ - [ - "double", - "value" - ] - ] - }, - { - "result": "double", - "name": "ln", - "parameters": [ - [ - "double", - "value" - ] - ] - }, - { - "result": "double", - "name": "sqrt", - "parameters": [ - [ - "double", - "value" - ] - ] - }, - { - "result": "int", - "name": "random", - "parameters": [ - [ - "int", - "max" - ] - ] - }, - { - "result": "", - "name": "setPrivateString", - "parameters": [ - [ - "string", - "section" - ], - [ - "string", - "item" - ], - [ - "string", - "value" - ] - ] - }, - { - "result": "", - "name": "setPrivateInt", - "parameters": [ - [ - "string", - "section" - ], - [ - "string", - "item" - ], - [ - "int", - "value" - ] - ] - }, - { - "result": "String", - "name": "getPrivateString", - "parameters": [ - [ - "String", - "section" - ], - [ - "String", - "item" - ], - [ - "String", - "defvalue" - ] - ] - }, - { - "result": "Int", - "name": "getPrivateInt", - "parameters": [ - [ - "String", - "section" - ], - [ - "String", - "item" - ], - [ - "Int", - "defvalue" - ] - ] - }, - { - "result": "", - "name": "setPublicString", - "parameters": [ - [ - "String", - "item" - ], - [ - "String", - "value" - ] - ] - }, - { - "result": "", - "name": "setPublicInt", - "parameters": [ - [ - "String", - "item" - ], - [ - "Int", - "value" - ] - ] - }, - { - "result": "String", - "name": "getPublicString", - "parameters": [ - [ - "String", - "item" - ], - [ - "String", - "defvalue" - ] - ] - }, - { - "result": "Int", - "name": "getPublicInt", - "parameters": [ - [ - "String", - "item" - ], - [ - "Int", - "defvalue" - ] - ] - }, - { - "result": "String", - "name": "getParam", - "parameters": [] - }, - { - "result": "Group", - "name": "getScriptGroup", - "parameters": [] - }, - { - "result": "Int", - "name": "getViewportWidth", - "parameters": [] - }, - { - "result": "Int", - "name": "getViewportWidthFromGuiObject", - "parameters": [ - [ - "GuiObject", - "g" - ] - ] - }, - { - "result": "Int", - "name": "getViewportWidthFromPoint", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "getMonitorWidth", - "parameters": [] - }, - { - "result": "Int", - "name": "getMonitorWidthFromPoint", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "getMonitorWidthFromGuiObject", - "parameters": [ - [ - "GuiObject", - "g" - ] - ] - }, - { - "result": "", - "name": "onMouseMove", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "getViewportHeight", - "parameters": [] - }, - { - "result": "Int", - "name": "getViewportHeightFromGuiObject", - "parameters": [ - [ - "GuiObject", - "g" - ] - ] - }, - { - "result": "Int", - "name": "getViewportHeightFromPoint", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "getMonitorHeight", - "parameters": [] - }, - { - "result": "Int", - "name": "getMonitorHeightFromPoint", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "getMonitorHeightFromGuiObject", - "parameters": [ - [ - "GuiObject", - "g" - ] - ] - }, - { - "result": "Int", - "name": "getMonitorLeft", - "parameters": [] - }, - { - "result": "Int", - "name": "getMonitorLeftFromGuiObject", - "parameters": [ - [ - "GuiObject", - "g" - ] - ] - }, - { - "result": "Int", - "name": "getMonitorLeftFromPoint", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "getMonitorTop", - "parameters": [] - }, - { - "result": "Int", - "name": "getMonitorTopFromGuiObject", - "parameters": [ - [ - "GuiObject", - "g" - ] - ] - }, - { - "result": "Int", - "name": "getMonitorTopFromPoint", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "getViewportLeft", - "parameters": [] - }, - { - "result": "Int", - "name": "getViewportLeftFromGuiObject", - "parameters": [ - [ - "GuiObject", - "g" - ] - ] - }, - { - "result": "Int", - "name": "getViewportLeftFromPoint", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "getViewportTop", - "parameters": [] - }, - { - "result": "Int", - "name": "getViewportTopFromGuiObject", - "parameters": [ - [ - "GuiObject", - "g" - ] - ] - }, - { - "result": "Int", - "name": "getViewportTopFromPoint", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "debugString", - "parameters": [ - [ - "String", - "str" - ], - [ - "Int", - "severity" - ] - ] - }, - { - "result": "", - "name": "ddeSend", - "parameters": [ - [ - "String", - "application" - ], - [ - "String", - "command" - ], - [ - "Int", - "mininterval" - ] - ] - }, - { - "result": "WindowHolder", - "name": "onLookForComponent", - "parameters": [ - [ - "String", - "guid" - ] - ] - }, - { - "result": "Int", - "name": "getCurAppLeft", - "parameters": [] - }, - { - "result": "Int", - "name": "getCurAppTop", - "parameters": [] - }, - { - "result": "Int", - "name": "getCurAppWidth", - "parameters": [] - }, - { - "result": "Int", - "name": "getCurAppHeight", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isAppActive", - "parameters": [] - }, - { - "result": "String", - "name": "getSkinName", - "parameters": [] - }, - { - "result": "", - "name": "switchSkin", - "parameters": [ - [ - "String", - "skinname" - ] - ] - }, - { - "result": "Int", - "name": "isLoadingSkin", - "parameters": [] - }, - { - "result": "", - "name": "lockUI", - "parameters": [] - }, - { - "result": "", - "name": "unlockUI", - "parameters": [] - }, - { - "result": "Browser", - "name": "getMainBrowser", - "parameters": [] - }, - { - "result": "", - "name": "popMainBrowser", - "parameters": [] - }, - { - "result": "", - "name": "navigateUrl", - "parameters": [ - [ - "String", - "url" - ] - ] - }, - { - "result": "", - "name": "navigateUrlBrowser", - "parameters": [ - [ - "String", - "url" - ] - ] - }, - { - "result": "Boolean", - "name": "onOpenURL", - "parameters": [ - [ - "string", - "url" - ] - ] - }, - { - "result": "Boolean", - "name": "isObjectValid", - "parameters": [ - [ - "Object", - "o" - ] - ] - }, - { - "result": "Int", - "name": "integer", - "parameters": [ - [ - "Double", - "d" - ] - ] - }, - { - "result": "Double", - "name": "frac", - "parameters": [ - [ - "Double", - "d" - ] - ] - }, - { - "result": "Int", - "name": "getTimeOfDay", - "parameters": [] - }, - { - "result": "", - "name": "setMenuTransparency", - "parameters": [ - [ - "int", - "alphavalue" - ] - ] - }, - { - "result": "Boolean", - "name": "onGetCancelComponent", - "parameters": [ - [ - "String", - "guid" - ], - [ - "boolean", - "goingvisible" - ] - ] - }, - { - "result": "Int", - "name": "getStatus", - "parameters": [] - }, - { - "result": "Int", - "name": "isKeyDown", - "parameters": [ - [ - "int", - "vk_code" - ] - ] - }, - { - "result": "", - "name": "setClipboardText", - "parameters": [ - [ - "String", - "_text" - ] - ] - }, - { - "result": "String", - "name": "Chr", - "parameters": [ - [ - "Int", - "charnum" - ] - ] - }, - { - "result": "String", - "name": "translate", - "parameters": [ - [ - "String", - "str" - ] - ] - }, - { - "result": "String", - "name": "getString", - "parameters": [ - [ - "String", - "table" - ], - [ - "int", - "id" - ] - ] - }, - { - "result": "String", - "name": "getLanguageId", - "parameters": [] - }, - { - "result": "String", - "name": "selectFile", - "parameters": [ - [ - "String", - "extlist" - ], - [ - "String", - "id" - ], - [ - "String", - "prev_filename" - ] - ] - }, - { - "result": "String", - "name": "selectFolder", - "parameters": [ - [ - "String", - "wnd_title" - ], - [ - "String", - "wnd_info" - ], - [ - "String", - "default_path" - ] - ] - }, - { - "result": "", - "name": "systemMenu", - "parameters": [] - }, - { - "result": "", - "name": "windowMenu", - "parameters": [] - }, - { - "result": "", - "name": "triggerAction", - "parameters": [ - [ - "GuiObject", - "context" - ], - [ - "String", - "actionname" - ], - [ - "String", - "actionparam" - ] - ] - }, - { - "result": "GuiObject", - "name": "showWindow", - "parameters": [ - [ - "String", - "guidorgroupid" - ], - [ - "String", - "preferedcontainer" - ], - [ - "Boolean", - "transient" - ] - ] - }, - { - "result": "", - "name": "hideWindow", - "parameters": [ - [ - "GuiObject", - "hw" - ] - ] - }, - { - "result": "", - "name": "hideNamedWindow", - "parameters": [ - [ - "String", - "guidorgroup" - ] - ] - }, - { - "result": "Boolean", - "name": "isNamedWindowVisible", - "parameters": [ - [ - "String", - "guidorgroup" - ] - ] - }, - { - "result": "", - "name": "setAtom", - "parameters": [ - [ - "String", - "atomname" - ], - [ - "Object", - "object" - ] - ] - }, - { - "result": "Object", - "name": "getAtom", - "parameters": [ - [ - "String", - "atomname" - ] - ] - }, - { - "result": "", - "name": "invokeDebugger", - "parameters": [] - }, - { - "result": "int", - "name": "hasVideoSupport", - "parameters": [] - }, - { - "result": "Int", - "name": "isVideo", - "parameters": [] - }, - { - "result": "Int", - "name": "isVideoFullscreen", - "parameters": [] - }, - { - "result": "Int", - "name": "getIdealVideoWidth", - "parameters": [] - }, - { - "result": "Int", - "name": "getIdealVideoHeight", - "parameters": [] - }, - { - "result": "Int", - "name": "isMinimized", - "parameters": [] - }, - { - "result": "", - "name": "minimizeApplication", - "parameters": [] - }, - { - "result": "", - "name": "restoreApplication", - "parameters": [] - }, - { - "result": "", - "name": "activateApplication", - "parameters": [] - }, - { - "result": "Int", - "name": "getPlaylistLength", - "parameters": [] - }, - { - "result": "Int", - "name": "getPlaylistIndex", - "parameters": [] - }, - { - "result": "", - "name": "clearPlaylist", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isDesktopAlphaAvailable", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isTransparencyAvailable", - "parameters": [] - }, - { - "result": "Int", - "name": "onShowNotification", - "parameters": [] - }, - { - "result": "String", - "name": "getSongInfoText", - "parameters": [] - }, - { - "result": "String", - "name": "getSongInfoTextTranslated", - "parameters": [] - }, - { - "result": "Int", - "name": "getVisBand", - "parameters": [ - [ - "int", - "channel" - ], - [ - "int", - "band" - ] - ] - }, - { - "result": "Double", - "name": "getRuntimeVersion", - "parameters": [] - }, - { - "result": "Int", - "name": "isWa2ComponentVisible", - "parameters": [ - [ - "String", - "guid" - ] - ] - }, - { - "result": "", - "name": "hideWa2Component", - "parameters": [ - [ - "String", - "guid" - ] - ] - }, - { - "result": "boolean", - "name": "isProVersion", - "parameters": [] - }, - { - "result": "String", - "name": "getWinampVersion", - "parameters": [] - }, - { - "result": "Int", - "name": "getBuildNumber", - "parameters": [] - }, - { - "result": "int", - "name": "getFileSize", - "parameters": [ - [ - "String", - "fullfilename" - ] - ] - } - ], - "name": "System" - }, - "E90DC47B840D4ae7B02C040BD275F7FC": { - "parent": "Object", - "functions": [ - { - "result": "", - "name": "onSwitchToLayout", - "parameters": [ - [ - "Layout", - "newlayout" - ] - ] - }, - { - "result": "", - "name": "onBeforeSwitchToLayout", - "parameters": [ - [ - "Layout", - "oldlayout" - ], - [ - "Layout", - "newlayout" - ] - ] - }, - { - "result": "", - "name": "setXmlParam", - "parameters": [ - [ - "String", - "param" - ], - [ - "String", - "value" - ] - ] - }, - { - "result": "", - "name": "onHideLayout", - "parameters": [ - [ - "Layout", - "_layout" - ] - ] - }, - { - "result": "", - "name": "onShowLayout", - "parameters": [ - [ - "Layout", - "_layout" - ] - ] - }, - { - "result": "Layout", - "name": "getLayout", - "parameters": [ - [ - "String", - "layout_id" - ] - ] - }, - { - "result": "Int", - "name": "getNumLayouts", - "parameters": [] - }, - { - "result": "Layout", - "name": "enumLayout", - "parameters": [ - [ - "Int", - "num" - ] - ] - }, - { - "result": "", - "name": "switchToLayout", - "parameters": [ - [ - "String", - "layout_id" - ] - ] - }, - { - "result": "", - "name": "show", - "parameters": [] - }, - { - "result": "", - "name": "hide", - "parameters": [] - }, - { - "result": "", - "name": "close", - "parameters": [] - }, - { - "result": "", - "name": "toggle", - "parameters": [] - }, - { - "result": "Int", - "name": "isDynamic", - "parameters": [] - }, - { - "result": "", - "name": "setName", - "parameters": [ - [ - "String", - "name" - ] - ] - }, - { - "result": "String", - "name": "getName", - "parameters": [] - }, - { - "result": "String", - "name": "getGuid", - "parameters": [] - }, - { - "result": "Layout", - "name": "getCurLayout", - "parameters": [] - }, - { - "result": "", - "name": "onAddContent", - "parameters": [ - [ - "GuiObject", - "wnd" - ], - [ - "String", - "id" - ], - [ - "String", - "guid" - ] - ] - } - ], - "name": "Container" - }, - "00C074A0FEA249a0BE8DFABBDB161640": { - "parent": "Object", - "functions": [ - { - "result": "String", - "name": "getGuid", - "parameters": [] - }, - { - "result": "String", - "name": "getName", - "parameters": [] - }, - { - "result": "Int", - "name": "sendCommand", - "parameters": [ - [ - "String", - "cmd" - ], - [ - "Int", - "param1" - ], - [ - "Int", - "param2" - ], - [ - "String", - "param3" - ] - ] - }, - { - "result": "", - "name": "show", - "parameters": [] - }, - { - "result": "", - "name": "hide", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isVisible", - "parameters": [] - }, - { - "result": "", - "name": "onNotify", - "parameters": [ - [ - "String", - "notifstr" - ], - [ - "Int", - "a" - ], - [ - "Int", - "b" - ] - ] - }, - { - "result": "", - "name": "onShow", - "parameters": [] - }, - { - "result": "", - "name": "onHide", - "parameters": [] - }, - { - "result": "", - "name": "setStatusBar", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "getStatusBar", - "parameters": [] - } - ], - "name": "Wac" - }, - "B2023AB5434D4ba1BEAE59637503F3C6": { - "parent": "Object", - "functions": [ - { - "result": "", - "name": "addItem", - "parameters": [ - [ - "Any", - "_object" - ] - ] - }, - { - "result": "", - "name": "removeItem", - "parameters": [ - [ - "int", - "pos" - ] - ] - }, - { - "result": "Any", - "name": "enumItem", - "parameters": [ - [ - "int", - "pos" - ] - ] - }, - { - "result": "Int", - "name": "findItem", - "parameters": [ - [ - "Any", - "_object" - ] - ] - }, - { - "result": "Int", - "name": "findItem2", - "parameters": [ - [ - "Any", - "_object" - ], - [ - "int", - "startItem" - ] - ] - }, - { - "result": "int", - "name": "getNumItems", - "parameters": [] - }, - { - "result": "", - "name": "removeAll", - "parameters": [] - } - ], - "name": "List" - }, - "87C65778E74349fe85F909CC532AFD56": { - "parent": "Object", - "functions": [ - { - "result": "boolean", - "name": "getItem", - "parameters": [ - [ - "int", - "n" - ] - ] - }, - { - "result": "", - "name": "setItem", - "parameters": [ - [ - "int", - "n" - ], - [ - "boolean", - "val" - ] - ] - }, - { - "result": "", - "name": "setSize", - "parameters": [ - [ - "int", - "s" - ] - ] - }, - { - "result": "int", - "name": "getSize", - "parameters": [] - } - ], - "name": "BitList" - }, - "38603665461B42a7AA75D83F6667BF73": { - "parent": "Object", - "functions": [ - { - "result": "Int", - "name": "getValue", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "getARGBValue", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ], - [ - "int", - "channel" - ] - ] - }, - { - "result": "Boolean", - "name": "inRegion", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "loadMap", - "parameters": [ - [ - "String", - "bitmapid" - ] - ] - }, - { - "result": "Int", - "name": "getWidth", - "parameters": [] - }, - { - "result": "Int", - "name": "getHeight", - "parameters": [] - }, - { - "result": "Region", - "name": "getRegion", - "parameters": [] - } - ], - "name": "Map" - }, - "F4787AF4B2BB4ef79CFBE74BA9BEA88D": { - "parent": "Object", - "functions": [ - { - "result": "", - "name": "addSubMenu", - "parameters": [ - [ - "PopupMenu", - "submenu" - ], - [ - "String", - "submenutext" - ] - ] - }, - { - "result": "", - "name": "addCommand", - "parameters": [ - [ - "String", - "cmdtxt" - ], - [ - "Int", - "cmd_id" - ], - [ - "Boolean", - "checked" - ], - [ - "Boolean", - "disabled" - ] - ] - }, - { - "result": "", - "name": "addSeparator", - "parameters": [] - }, - { - "result": "Int", - "name": "popAtXY", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "popAtMouse", - "parameters": [] - }, - { - "result": "Int", - "name": "getNumCommands", - "parameters": [] - }, - { - "result": "", - "name": "checkCommand", - "parameters": [ - [ - "int", - "cmd_id" - ], - [ - "boolean", - "check" - ] - ] - }, - { - "result": "", - "name": "disableCommand", - "parameters": [ - [ - "int", - "cmd_id" - ], - [ - "boolean", - "disable" - ] - ] - } - ], - "name": "PopupMenu" - }, - "3A370C023CBF439f84F186885BCF1E36": { - "parent": "Object", - "functions": [ - { - "result": "", - "name": "add", - "parameters": [ - [ - "Region", - "reg" - ] - ] - }, - { - "result": "", - "name": "sub", - "parameters": [ - [ - "Region", - "reg" - ] - ] - }, - { - "result": "", - "name": "offset", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "stretch", - "parameters": [ - [ - "double", - "r" - ] - ] - }, - { - "result": "", - "name": "copy", - "parameters": [ - [ - "Region", - "reg" - ] - ] - }, - { - "result": "", - "name": "loadFromMap", - "parameters": [ - [ - "Map", - "regionmap" - ], - [ - "Int", - "threshold" - ], - [ - "Boolean", - "reversed" - ] - ] - }, - { - "result": "", - "name": "loadFromBitmap", - "parameters": [ - [ - "String", - "bitmapid" - ] - ] - }, - { - "result": "Int", - "name": "getBoundingBoxX", - "parameters": [] - }, - { - "result": "Int", - "name": "getBoundingBoxY", - "parameters": [] - }, - { - "result": "Int", - "name": "getBoundingBoxW", - "parameters": [] - }, - { - "result": "Int", - "name": "getBoundingBoxH", - "parameters": [] - } - ], - "name": "Region" - }, - "5D0C5BB67DE14b1fA70F8D1659941941": { - "parent": "Object", - "functions": [ - { - "result": "", - "name": "onTimer", - "parameters": [] - }, - { - "result": "", - "name": "setDelay", - "parameters": [ - [ - "int", - "millisec" - ] - ] - }, - { - "result": "Int", - "name": "getDelay", - "parameters": [] - }, - { - "result": "", - "name": "start", - "parameters": [] - }, - { - "result": "", - "name": "stop", - "parameters": [] - }, - { - "result": "", - "name": "isRunning", - "parameters": [] - }, - { - "result": "Int", - "name": "getSkipped", - "parameters": [] - } - ], - "name": "Timer" - }, - "A5376FA14E94411a83F605EC5EEA5F0A": { - "parent": "Object", - "functions": [ - { - "result": "Int", - "name": "setFeed", - "parameters": [ - [ - "String", - "feed_id" - ] - ] - }, - { - "result": "", - "name": "releaseFeed", - "parameters": [] - }, - { - "result": "", - "name": "onFeedChange", - "parameters": [ - [ - "String", - "new_feeddata" - ] - ] - } - ], - "name": "FeedWatcher" - }, - "4EE3E199C6364bec97CD78BC9C8628B0": { - "parent": "Object", - "functions": [ - { - "result": "", - "name": "show", - "parameters": [] - }, - { - "result": "", - "name": "hide", - "parameters": [] - }, - { - "result": "int", - "name": "isVisible", - "parameters": [] - }, - { - "result": "", - "name": "onSetVisible", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "", - "name": "setAlpha", - "parameters": [ - [ - "int", - "alpha" - ] - ] - }, - { - "result": "int", - "name": "getAlpha", - "parameters": [] - }, - { - "result": "", - "name": "onLeftButtonUp", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "onLeftButtonDown", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "onRightButtonUp", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "onRightButtonDown", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "onRightButtonDblClk", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "onLeftButtonDblClk", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "int", - "name": "onMouseWheelUp", - "parameters": [ - [ - "int", - "clicked" - ], - [ - "int", - "lines" - ] - ] - }, - { - "result": "int", - "name": "onMouseWheelDown", - "parameters": [ - [ - "int", - "clicked" - ], - [ - "int", - "lines" - ] - ] - }, - { - "result": "", - "name": "onMouseMove", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "onEnterArea", - "parameters": [] - }, - { - "result": "", - "name": "onLeaveArea", - "parameters": [] - }, - { - "result": "", - "name": "setEnabled", - "parameters": [ - [ - "boolean", - "onoff" - ] - ] - }, - { - "result": "boolean", - "name": "getEnabled", - "parameters": [] - }, - { - "result": "", - "name": "onEnable", - "parameters": [ - [ - "boolean", - "onoff" - ] - ] - }, - { - "result": "", - "name": "resize", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ], - [ - "int", - "w" - ], - [ - "int", - "h" - ] - ] - }, - { - "result": "", - "name": "onResize", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ], - [ - "int", - "w" - ], - [ - "int", - "h" - ] - ] - }, - { - "result": "boolean", - "name": "isMouseOver", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "int", - "name": "getLeft", - "parameters": [] - }, - { - "result": "int", - "name": "getTop", - "parameters": [] - }, - { - "result": "int", - "name": "getWidth", - "parameters": [] - }, - { - "result": "int", - "name": "getHeight", - "parameters": [] - }, - { - "result": "", - "name": "setTargetX", - "parameters": [ - [ - "int", - "x" - ] - ] - }, - { - "result": "", - "name": "setTargetY", - "parameters": [ - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "setTargetW", - "parameters": [ - [ - "int", - "w" - ] - ] - }, - { - "result": "", - "name": "setTargetH", - "parameters": [ - [ - "int", - "r" - ] - ] - }, - { - "result": "", - "name": "setTargetA", - "parameters": [ - [ - "int", - "alpha" - ] - ] - }, - { - "result": "", - "name": "setTargetSpeed", - "parameters": [ - [ - "float", - "insecond" - ] - ] - }, - { - "result": "", - "name": "gotoTarget", - "parameters": [] - }, - { - "result": "", - "name": "onTargetReached", - "parameters": [] - }, - { - "result": "", - "name": "cancelTarget", - "parameters": [] - }, - { - "result": "", - "name": "reverseTarget", - "parameters": [ - [ - "int", - "reverse" - ] - ] - }, - { - "result": "", - "name": "onStartup", - "parameters": [] - }, - { - "result": "boolean", - "name": "isGoingToTarget", - "parameters": [] - }, - { - "result": "", - "name": "setXmlParam", - "parameters": [ - [ - "String", - "param" - ], - [ - "String", - "value" - ] - ] - }, - { - "result": "String", - "name": "getXmlParam", - "parameters": [ - [ - "String", - "param" - ] - ] - }, - { - "result": "", - "name": "init", - "parameters": [ - [ - "Group", - "parent" - ] - ] - }, - { - "result": "", - "name": "bringToFront", - "parameters": [] - }, - { - "result": "", - "name": "bringToBack", - "parameters": [] - }, - { - "result": "", - "name": "bringAbove", - "parameters": [ - [ - "GuiObject", - "guiobj" - ] - ] - }, - { - "result": "", - "name": "bringBelow", - "parameters": [ - [ - "GuiObject", - "guiobj" - ] - ] - }, - { - "result": "Int", - "name": "getGuiX", - "parameters": [] - }, - { - "result": "Int", - "name": "getGuiY", - "parameters": [] - }, - { - "result": "Int", - "name": "getGuiW", - "parameters": [] - }, - { - "result": "Int", - "name": "getGuiH", - "parameters": [] - }, - { - "result": "Int", - "name": "getGuiRelatX", - "parameters": [] - }, - { - "result": "Int", - "name": "getGuiRelatY", - "parameters": [] - }, - { - "result": "Int", - "name": "getGuiRelatW", - "parameters": [] - }, - { - "result": "Int", - "name": "getGuiRelatH", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isActive", - "parameters": [] - }, - { - "result": "GuiObject", - "name": "getParent", - "parameters": [] - }, - { - "result": "Layout", - "name": "getParentLayout", - "parameters": [] - }, - { - "result": "GuiObject", - "name": "getTopParent", - "parameters": [] - }, - { - "result": "int", - "name": "runModal", - "parameters": [] - }, - { - "result": "", - "name": "endModal", - "parameters": [ - [ - "int", - "retcode" - ] - ] - }, - { - "result": "GuiObject", - "name": "findObject", - "parameters": [ - [ - "String", - "id" - ] - ] - }, - { - "result": "GuiObject", - "name": "findObjectXY", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "String", - "name": "getName", - "parameters": [] - }, - { - "result": "int", - "name": "clientToScreenX", - "parameters": [ - [ - "int", - "x" - ] - ] - }, - { - "result": "int", - "name": "clientToScreenY", - "parameters": [ - [ - "int", - "y" - ] - ] - }, - { - "result": "int", - "name": "clientToScreenW", - "parameters": [ - [ - "int", - "w" - ] - ] - }, - { - "result": "int", - "name": "clientToScreenH", - "parameters": [ - [ - "int", - "h" - ] - ] - }, - { - "result": "int", - "name": "screenToClientX", - "parameters": [ - [ - "int", - "x" - ] - ] - }, - { - "result": "int", - "name": "screenToClientY", - "parameters": [ - [ - "int", - "y" - ] - ] - }, - { - "result": "int", - "name": "screenToClientW", - "parameters": [ - [ - "int", - "w" - ] - ] - }, - { - "result": "int", - "name": "screenToClientH", - "parameters": [ - [ - "int", - "h" - ] - ] - }, - { - "result": "int", - "name": "getAutoWidth", - "parameters": [] - }, - { - "result": "int", - "name": "getAutoHeight", - "parameters": [] - }, - { - "result": "", - "name": "setFocus", - "parameters": [] - }, - { - "result": "", - "name": "onChar", - "parameters": [ - [ - "String", - "c" - ] - ] - }, - { - "result": "", - "name": "onAccelerator", - "parameters": [ - [ - "String", - "accel" - ] - ] - }, - { - "result": "Boolean", - "name": "isMouseOverRect", - "parameters": [] - }, - { - "result": "Object", - "name": "getInterface", - "parameters": [ - [ - "String", - "interface_guid" - ] - ] - }, - { - "result": "", - "name": "onDragEnter", - "parameters": [] - }, - { - "result": "", - "name": "onDragOver", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - }, - { - "result": "", - "name": "onDragLeave", - "parameters": [] - }, - { - "result": "", - "name": "onKeyDown", - "parameters": [ - [ - "int", - "vk_code" - ] - ] - }, - { - "result": "", - "name": "onKeyUp", - "parameters": [ - [ - "int", - "vk_code" - ] - ] - }, - { - "result": "", - "name": "onGetFocus", - "parameters": [] - }, - { - "result": "", - "name": "onKillFocus", - "parameters": [] - }, - { - "result": "Int", - "name": "sendAction", - "parameters": [ - [ - "String", - "action" - ], - [ - "String", - "param" - ], - [ - "Int", - "x" - ], - [ - "int", - "y" - ], - [ - "int", - "p1" - ], - [ - "int", - "p2" - ] - ] - }, - { - "result": "Int", - "name": "onAction", - "parameters": [ - [ - "String", - "action" - ], - [ - "String", - "param" - ], - [ - "Int", - "x" - ], - [ - "int", - "y" - ], - [ - "int", - "p1" - ], - [ - "int", - "p2" - ], - [ - "GuiObject", - "source" - ] - ] - } - ], - "name": "GuiObject" - }, - "45BE95E520724191935CBB5FF9F117FD": { - "parent": "GuiObject", - "functions": [ - { - "result": "GuiObject", - "name": "getObject", - "parameters": [ - [ - "String", - "object_id" - ] - ] - }, - { - "result": "Int", - "name": "getNumObjects", - "parameters": [] - }, - { - "result": "GuiObject", - "name": "enumObject", - "parameters": [ - [ - "Int", - "num" - ] - ] - }, - { - "result": "", - "name": "onCreateObject", - "parameters": [ - [ - "GuiObject", - "newobj" - ] - ] - }, - { - "result": "Int", - "name": "getMousePosX", - "parameters": [] - }, - { - "result": "Int", - "name": "getMousePosY", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isLayout", - "parameters": [] - } - ], - "name": "Group" - }, - "60906D4E537E482eB004CC9461885672": { - "parent": "Group", - "functions": [ - { - "result": "", - "name": "onDock", - "parameters": [ - [ - "int", - "side" - ] - ] - }, - { - "result": "", - "name": "onUndock", - "parameters": [] - }, - { - "result": "", - "name": "onScale", - "parameters": [ - [ - "Double", - "newscalevalue" - ] - ] - }, - { - "result": "Double", - "name": "getScale", - "parameters": [] - }, - { - "result": "", - "name": "setScale", - "parameters": [ - [ - "Double", - "scalevalue" - ] - ] - }, - { - "result": "", - "name": "setDesktopAlpha", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "getDesktopAlpha", - "parameters": [] - }, - { - "result": "Container", - "name": "getContainer", - "parameters": [] - }, - { - "result": "", - "name": "center", - "parameters": [] - }, - { - "result": "", - "name": "onMove", - "parameters": [] - }, - { - "result": "", - "name": "onEndMove", - "parameters": [] - }, - { - "result": "", - "name": "onUserResize", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ], - [ - "int", - "w" - ], - [ - "int", - "h" - ] - ] - }, - { - "result": "", - "name": "snapAdjust", - "parameters": [ - [ - "int", - "left" - ], - [ - "int", - "top" - ], - [ - "int", - "right" - ], - [ - "int", - "bottom" - ] - ] - }, - { - "result": "Int", - "name": "getSnapAdjustTop", - "parameters": [] - }, - { - "result": "Int", - "name": "getSnapAdjustRight", - "parameters": [] - }, - { - "result": "Int", - "name": "getSnapAdjustLeft", - "parameters": [] - }, - { - "result": "Int", - "name": "getSnapAdjustBottom", - "parameters": [] - }, - { - "result": "", - "name": "setRedrawOnResize", - "parameters": [ - [ - "int", - "wantredrawonresize" - ] - ] - }, - { - "result": "", - "name": "beforeRedock", - "parameters": [] - }, - { - "result": "", - "name": "redock", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isTransparencySafe", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isLayoutAnimationSafe", - "parameters": [] - }, - { - "result": "", - "name": "onMouseEnterLayout", - "parameters": [] - }, - { - "result": "", - "name": "onMouseLeaveLayout", - "parameters": [] - }, - { - "result": "", - "name": "onSnapAdjustChanged", - "parameters": [] - } - ], - "name": "Layout" - }, - "403ABCC06F224bd68BA410C829932547": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "setRegionFromMap", - "parameters": [ - [ - "Map", - "regionmap" - ], - [ - "Int", - "threshold" - ], - [ - "Boolean", - "reverse" - ] - ] - }, - { - "result": "", - "name": "setRegion", - "parameters": [ - [ - "Region", - "reg" - ] - ] - }, - { - "result": "GuiObject", - "name": "getContent", - "parameters": [] - }, - { - "result": "String", - "name": "getGuid", - "parameters": [] - }, - { - "result": "String", - "name": "getComponentName", - "parameters": [] - }, - { - "result": "", - "name": "onGetWac", - "parameters": [ - [ - "Wac", - "wacobj" - ] - ] - }, - { - "result": "", - "name": "onGiveUpWac", - "parameters": [ - [ - "Wac", - "wacobj" - ] - ] - }, - { - "result": "Wac", - "name": "getWac", - "parameters": [] - }, - { - "result": "", - "name": "setAcceptWac", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - } - ], - "name": "WindowHolder" - }, - "97AA3E4DF4D04fa8817B0AF22A454983": { - "parent": "GuiObject", - "functions": [ - { - "result": "Int", - "name": "getMaxHeight", - "parameters": [] - }, - { - "result": "Int", - "name": "getMaxWidth", - "parameters": [] - }, - { - "result": "Int", - "name": "setScroll", - "parameters": [ - [ - "int", - "x" - ] - ] - }, - { - "result": "Int", - "name": "getScroll", - "parameters": [] - }, - { - "result": "Int", - "name": "getNumChildren", - "parameters": [] - }, - { - "result": "GuiObject", - "name": "enumChildren", - "parameters": [ - [ - "int", - "n" - ] - ] - } - ], - "name": "ComponentBucket" - }, - "64E4BBFA81F449d9B0C0A85B2EC3BCFD": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "onEnter", - "parameters": [] - }, - { - "result": "", - "name": "onAbort", - "parameters": [] - }, - { - "result": "", - "name": "onIdleEditUpdate", - "parameters": [] - }, - { - "result": "", - "name": "onEditUpdate", - "parameters": [] - }, - { - "result": "", - "name": "setText", - "parameters": [ - [ - "String", - "txt" - ] - ] - }, - { - "result": "", - "name": "setAutoEnter", - "parameters": [ - [ - "boolean", - "onoff" - ] - ] - }, - { - "result": "Int", - "name": "getAutoEnter", - "parameters": [] - }, - { - "result": "String", - "name": "getText", - "parameters": [] - }, - { - "result": "", - "name": "selectAll", - "parameters": [] - }, - { - "result": "", - "name": "enter", - "parameters": [] - }, - { - "result": "", - "name": "setIdleEnabled", - "parameters": [ - [ - "boolean", - "onoff" - ] - ] - }, - { - "result": "Int", - "name": "getIdleEnabled", - "parameters": [] - } - ], - "name": "Edit" - }, - "62B65E3F375E408d8DEA76814AB91B77": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "onSetPosition", - "parameters": [ - [ - "int", - "newpos" - ] - ] - }, - { - "result": "", - "name": "onPostedPosition", - "parameters": [ - [ - "int", - "newpos" - ] - ] - }, - { - "result": "", - "name": "onSetFinalPosition", - "parameters": [ - [ - "int", - "pos" - ] - ] - }, - { - "result": "", - "name": "setPosition", - "parameters": [ - [ - "int", - "pos" - ] - ] - }, - { - "result": "Int", - "name": "getPosition", - "parameters": [] - }, - { - "result": "", - "name": "lock", - "parameters": [] - }, - { - "result": "", - "name": "unlock", - "parameters": [] - } - ], - "name": "Slider" - }, - "CE4F97BE77B04e199956D49833C96C27": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "onFrame", - "parameters": [] - }, - { - "result": "", - "name": "setRealtime", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "getRealtime", - "parameters": [] - }, - { - "result": "Int", - "name": "getMode", - "parameters": [] - }, - { - "result": "", - "name": "setMode", - "parameters": [ - [ - "Int", - "mode" - ] - ] - }, - { - "result": "", - "name": "nextMode", - "parameters": [] - } - ], - "name": "Vis" - }, - "A8C2200D51EB4b2aBA7F5D4BC65D4C71": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "navigateUrl", - "parameters": [ - [ - "String", - "url" - ] - ] - }, - { - "result": "", - "name": "back", - "parameters": [] - }, - { - "result": "", - "name": "forward", - "parameters": [] - }, - { - "result": "", - "name": "stop", - "parameters": [] - }, - { - "result": "", - "name": "refresh", - "parameters": [] - }, - { - "result": "", - "name": "home", - "parameters": [] - }, - { - "result": "", - "name": "setTargetName", - "parameters": [ - [ - "String", - "targetname" - ] - ] - }, - { - "result": "Boolean", - "name": "onBeforeNavigate", - "parameters": [ - [ - "String", - "url" - ], - [ - "Int", - "flags" - ], - [ - "String", - "targetframename" - ] - ] - }, - { - "result": "", - "name": "onDocumentComplete", - "parameters": [ - [ - "String", - "url" - ] - ] - }, - { - "result": "", - "name": "onDocumentReady", - "parameters": [ - [ - "String", - "url" - ] - ] - }, - { - "result": "String", - "name": "getDocumentTitle", - "parameters": [] - }, - { - "result": "", - "name": "onNavigateError", - "parameters": [ - [ - "String", - "url" - ], - [ - "int", - "code" - ] - ] - }, - { - "result": "", - "name": "setCancelIEErrorPage", - "parameters": [ - [ - "boolean", - "cancel" - ] - ] - }, - { - "result": "", - "name": "scrape", - "parameters": [] - }, - { - "result": "string", - "name": "onMediaLink", - "parameters": [ - [ - "string", - "url" - ] - ] - } - ], - "name": "Browser" - }, - "8D1EBA38489E483eB9608D1F43C5C405": { - "parent": "GuiObject", - "functions": [], - "name": "EqVis" - }, - "0F08C940AF394b2380F3B8C48F7EBB59": { - "parent": "GuiObject", - "functions": [], - "name": "Status" - }, - "EFAA8672310E41faB7DC85A9525BCB4B": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "setText", - "parameters": [ - [ - "String", - "txt" - ] - ] - }, - { - "result": "", - "name": "setAlternateText", - "parameters": [ - [ - "String", - "txt" - ] - ] - }, - { - "result": "String", - "name": "getText", - "parameters": [] - }, - { - "result": "int", - "name": "getTextWidth", - "parameters": [] - }, - { - "result": "", - "name": "onTextChanged", - "parameters": [ - [ - "String", - "newtxt" - ] - ] - } - ], - "name": "Text" - }, - "7DFD324437514e7cBF4082AE5F3ADC33": { - "parent": "GuiObject", - "functions": [], - "name": "Title" - }, - "5AB9FA159A7D4557ABC86557A6C67CA9": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "onBeginResize", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ], - [ - "int", - "w" - ], - [ - "int", - "h" - ] - ] - }, - { - "result": "", - "name": "onEndResize", - "parameters": [ - [ - "int", - "x" - ], - [ - "int", - "y" - ], - [ - "int", - "w" - ], - [ - "int", - "h" - ] - ] - }, - { - "result": "", - "name": "fx_onInit", - "parameters": [] - }, - { - "result": "", - "name": "fx_onFrame", - "parameters": [] - }, - { - "result": "Double", - "name": "fx_onGetPixelR", - "parameters": [ - [ - "double", - "r" - ], - [ - "double", - "d" - ], - [ - "double", - "x" - ], - [ - "double", - "y" - ] - ] - }, - { - "result": "Double", - "name": "fx_onGetPixelD", - "parameters": [ - [ - "double", - "r" - ], - [ - "double", - "d" - ], - [ - "double", - "x" - ], - [ - "double", - "y" - ] - ] - }, - { - "result": "Double", - "name": "fx_onGetPixelX", - "parameters": [ - [ - "double", - "r" - ], - [ - "double", - "d" - ], - [ - "double", - "x" - ], - [ - "double", - "y" - ] - ] - }, - { - "result": "Double", - "name": "fx_onGetPixelY", - "parameters": [ - [ - "double", - "r" - ], - [ - "double", - "d" - ], - [ - "double", - "x" - ], - [ - "double", - "y" - ] - ] - }, - { - "result": "Double", - "name": "fx_onGetPixelA", - "parameters": [ - [ - "double", - "r" - ], - [ - "double", - "d" - ], - [ - "double", - "x" - ], - [ - "double", - "y" - ] - ] - }, - { - "result": "", - "name": "setRegionFromMap", - "parameters": [ - [ - "Map", - "regionmap" - ], - [ - "int", - "threshold" - ], - [ - "boolean", - "reverse" - ] - ] - }, - { - "result": "", - "name": "setRegion", - "parameters": [ - [ - "Region", - "reg" - ] - ] - }, - { - "result": "", - "name": "fx_setEnabled", - "parameters": [ - [ - "boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "fx_getEnabled", - "parameters": [] - }, - { - "result": "", - "name": "fx_setWrap", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "fx_getWrap", - "parameters": [] - }, - { - "result": "", - "name": "fx_setRect", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "fx_getRect", - "parameters": [] - }, - { - "result": "", - "name": "fx_setBgFx", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "fx_getBgFx", - "parameters": [] - }, - { - "result": "", - "name": "fx_setClear", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "fx_getClear", - "parameters": [] - }, - { - "result": "", - "name": "fx_setSpeed", - "parameters": [ - [ - "Int", - "msperframe" - ] - ] - }, - { - "result": "Int", - "name": "fx_getSpeed", - "parameters": [] - }, - { - "result": "", - "name": "fx_setRealtime", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "fx_getRealtime", - "parameters": [] - }, - { - "result": "", - "name": "fx_setLocalized", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "fx_getLocalized", - "parameters": [] - }, - { - "result": "", - "name": "fx_setBilinear", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "fx_getBilinear", - "parameters": [] - }, - { - "result": "", - "name": "fx_setAlphaMode", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "fx_getAlphaMode", - "parameters": [] - }, - { - "result": "", - "name": "fx_setGridSize", - "parameters": [ - [ - "Int", - "x" - ], - [ - "Int", - "y" - ] - ] - }, - { - "result": "", - "name": "fx_update", - "parameters": [] - }, - { - "result": "", - "name": "fx_restart", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isInvalid", - "parameters": [] - } - ], - "name": "Layer" - }, - "698EDDCD8F1E4fec9B12F944F909FF45": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "onActivate", - "parameters": [ - [ - "int", - "activated" - ] - ] - }, - { - "result": "", - "name": "onLeftClick", - "parameters": [] - }, - { - "result": "", - "name": "onRightClick", - "parameters": [] - }, - { - "result": "", - "name": "setActivated", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "", - "name": "setActivatedNoCallback", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "Boolean", - "name": "getActivated", - "parameters": [] - }, - { - "result": "", - "name": "leftClick", - "parameters": [] - }, - { - "result": "", - "name": "rightClick", - "parameters": [] - } - ], - "name": "Button" - }, - "6B64CD275A264c4b8C59E6A70CF6493A": { - "parent": "Layer", - "functions": [ - { - "result": "", - "name": "onPlay", - "parameters": [] - }, - { - "result": "", - "name": "onPause", - "parameters": [] - }, - { - "result": "", - "name": "onResume", - "parameters": [] - }, - { - "result": "", - "name": "onStop", - "parameters": [] - }, - { - "result": "", - "name": "onFrame", - "parameters": [ - [ - "Int", - "framenum" - ] - ] - }, - { - "result": "", - "name": "setSpeed", - "parameters": [ - [ - "Int", - "msperframe" - ] - ] - }, - { - "result": "", - "name": "gotoFrame", - "parameters": [ - [ - "int", - "framenum" - ] - ] - }, - { - "result": "", - "name": "setStartFrame", - "parameters": [ - [ - "Int", - "framenum" - ] - ] - }, - { - "result": "", - "name": "setEndFrame", - "parameters": [ - [ - "int", - "framenum" - ] - ] - }, - { - "result": "", - "name": "setAutoReplay", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "", - "name": "play", - "parameters": [] - }, - { - "result": "", - "name": "stop", - "parameters": [] - }, - { - "result": "", - "name": "pause", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isPlaying", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isPaused", - "parameters": [] - }, - { - "result": "Boolean", - "name": "isStopped", - "parameters": [] - }, - { - "result": "Int", - "name": "getStartFrame", - "parameters": [] - }, - { - "result": "Int", - "name": "getEndFrame", - "parameters": [] - }, - { - "result": "Int", - "name": "getLength", - "parameters": [] - }, - { - "result": "Int", - "name": "getDirection", - "parameters": [] - }, - { - "result": "Boolean", - "name": "getAutoReplay", - "parameters": [] - }, - { - "result": "Int", - "name": "getCurFrame", - "parameters": [] - }, - { - "result": "", - "name": "setRealtime", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - } - ], - "name": "AnimatedLayer" - }, - "6DCB05E48AC448c2B19349F0910EF54A": { - "parent": "Layer", - "functions": [ - { - "result": "", - "name": "refresh", - "parameters": [] - }, - { - "result": "", - "name": "isLoading", - "parameters": [] - }, - { - "result": "", - "name": "onAlbumArtLoaded", - "parameters": [ - [ - "boolean", - "success" - ] - ] - } - ], - "name": "AlbumArtLayer" - }, - "B4DCCFFF81FE4bcc961B720FD5BE0FFF": { - "parent": "Button", - "functions": [ - { - "result": "", - "name": "onToggle", - "parameters": [ - [ - "Boolean", - "onoff" - ] - ] - }, - { - "result": "int", - "name": "getCurCfgVal", - "parameters": [] - } - ], - "name": "ToggleButton" - }, - "01E28CE1B05911d5979FE4DE6F51760A": { - "parent": "GuiObject", - "functions": [ - { - "result": "Group", - "name": "instantiate", - "parameters": [ - [ - "String", - "group_id" - ], - [ - "int", - "num_groups" - ] - ] - }, - { - "result": "Int", - "name": "getNumItems", - "parameters": [] - }, - { - "result": "Group", - "name": "enumItem", - "parameters": [ - [ - "int", - "num" - ] - ] - }, - { - "result": "", - "name": "removeAll", - "parameters": [] - }, - { - "result": "", - "name": "scrollToPercent", - "parameters": [ - [ - "Int", - "percent" - ] - ] - }, - { - "result": "", - "name": "setRedraw", - "parameters": [ - [ - "int", - "redraw" - ] - ] - } - ], - "name": "GroupList" - }, - "80F0F8BD1BA542a6A0933236A00C8D4A": { - "parent": "Group", - "functions": [ - { - "result": "Int", - "name": "cfgGetInt", - "parameters": [] - }, - { - "result": "", - "name": "cfgSetInt", - "parameters": [ - [ - "Int", - "intvalue" - ] - ] - }, - { - "result": "String", - "name": "cfgGetString", - "parameters": [] - }, - { - "result": "Float", - "name": "cfgGetFloat", - "parameters": [] - }, - { - "result": "", - "name": "cfgSetFloat", - "parameters": [ - [ - "Float", - "floatvalue" - ] - ] - }, - { - "result": "", - "name": "cfgSetString", - "parameters": [ - [ - "String", - "strvalue" - ] - ] - }, - { - "result": "", - "name": "onCfgChanged", - "parameters": [] - }, - { - "result": "String", - "name": "cfgGetGuid", - "parameters": [] - }, - { - "result": "String", - "name": "cfgGetName", - "parameters": [] - } - ], - "name": "CfgGroup" - }, - "CDCB785D81F242538F0561B872283CFA": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "onResetQuery", - "parameters": [] - } - ], - "name": "QueryList" - }, - "9B2E341B6C9840fa8B850C1B6EE89405": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "setRedirection", - "parameters": [ - [ - "GuiObject", - "o" - ] - ] - }, - { - "result": "GuiObject", - "name": "getRedirection", - "parameters": [] - }, - { - "result": "", - "name": "setRegionFromMap", - "parameters": [ - [ - "Map", - "regionmap" - ], - [ - "Int", - "threshold" - ], - [ - "Boolean", - "reverse" - ] - ] - }, - { - "result": "", - "name": "setRegion", - "parameters": [ - [ - "Region", - "reg" - ] - ] - } - ], - "name": "MouseRedir" - }, - "36D59B7103FD4af897950502B7DB267A": { - "parent": "GuiObject", - "functions": [ - { - "result": "String", - "name": "getItemSelected", - "parameters": [] - }, - { - "result": "", - "name": "onSelect", - "parameters": [ - [ - "Int", - "id" - ], - [ - "Int", - "hover" - ] - ] - }, - { - "result": "", - "name": "setListHeight", - "parameters": [ - [ - "Int", - "h" - ] - ] - }, - { - "result": "", - "name": "openList", - "parameters": [] - }, - { - "result": "", - "name": "closeList", - "parameters": [] - }, - { - "result": "", - "name": "setItems", - "parameters": [ - [ - "String", - "lotsofitems" - ] - ] - }, - { - "result": "Int", - "name": "addItem", - "parameters": [ - [ - "String", - "_text" - ] - ] - }, - { - "result": "", - "name": "delItem", - "parameters": [ - [ - "Int", - "id" - ] - ] - }, - { - "result": "Int", - "name": "findItem", - "parameters": [ - [ - "String", - "_text" - ] - ] - }, - { - "result": "Int", - "name": "getNumItems", - "parameters": [] - }, - { - "result": "", - "name": "selectItem", - "parameters": [ - [ - "Int", - "id" - ], - [ - "Int", - "hover" - ] - ] - }, - { - "result": "String", - "name": "getItemText", - "parameters": [ - [ - "Int", - "id" - ] - ] - }, - { - "result": "Int", - "name": "getSelected", - "parameters": [] - }, - { - "result": "String", - "name": "getSelectedText", - "parameters": [] - }, - { - "result": "String", - "name": "getCustomText", - "parameters": [] - }, - { - "result": "", - "name": "deleteAllItems", - "parameters": [] - }, - { - "result": "", - "name": "setNoItemText", - "parameters": [ - [ - "String", - "txt" - ] - ] - } - ], - "name": "DropDownList" - }, - "7FD5F210ACC448dfA6A05451576CDC76": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "callme", - "parameters": [ - [ - "String", - "str" - ] - ] - } - ], - "name": "LayoutStatus" - }, - "B5BAA53505B34dcbADC1E618D28F6896": { - "parent": "GuiObject", - "functions": [ - { - "result": "Int", - "name": "getCurPage", - "parameters": [] - }, - { - "result": "", - "name": "setCurPage", - "parameters": [ - [ - "Int", - "a" - ] - ] - } - ], - "name": "TabSheet" - }, - "6129FEC1DAB74d51916501CA0C1B70DB": { - "parent": "GuiObject", - "functions": [ - { - "result": "Int", - "name": "addColumn", - "parameters": [ - [ - "String", - "name" - ], - [ - "Int", - "width" - ], - [ - "Int", - "numeric" - ] - ] - }, - { - "result": "Int", - "name": "getNumColumns", - "parameters": [] - }, - { - "result": "Int", - "name": "getColumnWidth", - "parameters": [ - [ - "Int", - "column" - ] - ] - }, - { - "result": "", - "name": "setColumnWidth", - "parameters": [ - [ - "Int", - "column" - ], - [ - "Int", - "newwidth" - ] - ] - }, - { - "result": "String", - "name": "getColumnLabel", - "parameters": [ - [ - "Int", - "column" - ] - ] - }, - { - "result": "", - "name": "setColumnLabel", - "parameters": [ - [ - "Int", - "column" - ], - [ - "String", - "newlabel" - ] - ] - }, - { - "result": "Int", - "name": "getColumnNumeric", - "parameters": [ - [ - "Int", - "column" - ] - ] - }, - { - "result": "", - "name": "setColumnDynamic", - "parameters": [ - [ - "Int", - "column" - ], - [ - "Int", - "isdynamic" - ] - ] - }, - { - "result": "Int", - "name": "isColumnDynamic", - "parameters": [ - [ - "Int", - "column" - ] - ] - }, - { - "result": "", - "name": "invalidateColumns", - "parameters": [] - }, - { - "result": "Int", - "name": "getNumItems", - "parameters": [] - }, - { - "result": "Int", - "name": "getItemCount", - "parameters": [] - }, - { - "result": "Int", - "name": "addItem", - "parameters": [ - [ - "String", - "label" - ] - ] - }, - { - "result": "Int", - "name": "insertItem", - "parameters": [ - [ - "Int", - "pos" - ], - [ - "String", - "label" - ] - ] - }, - { - "result": "Int", - "name": "getLastAddedItemPos", - "parameters": [] - }, - { - "result": "", - "name": "setSubItem", - "parameters": [ - [ - "Int", - "pos" - ], - [ - "Int", - "subpos" - ], - [ - "String", - "txt" - ] - ] - }, - { - "result": "", - "name": "deleteAllItems", - "parameters": [] - }, - { - "result": "Int", - "name": "deleteByPos", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "String", - "name": "getItemLabel", - "parameters": [ - [ - "Int", - "pos" - ], - [ - "Int", - "subpos" - ] - ] - }, - { - "result": "String", - "name": "getSubitemText", - "parameters": [ - [ - "Int", - "pos" - ], - [ - "Int", - "subpos" - ] - ] - }, - { - "result": "", - "name": "setItemLabel", - "parameters": [ - [ - "Int", - "pos" - ], - [ - "String", - "_text" - ] - ] - }, - { - "result": "Int", - "name": "invalidateItem", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "Int", - "name": "getFirstItemVisible", - "parameters": [] - }, - { - "result": "Int", - "name": "getLastItemVisible", - "parameters": [] - }, - { - "result": "", - "name": "setItemIcon", - "parameters": [ - [ - "Int", - "pos" - ], - [ - "String", - "bitmapId" - ] - ] - }, - { - "result": "String", - "name": "getItemIcon", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "", - "name": "setMinimumSize", - "parameters": [ - [ - "Int", - "size" - ] - ] - }, - { - "result": "Int", - "name": "getWantAutoDeselect", - "parameters": [] - }, - { - "result": "", - "name": "setWantAutoDeselect", - "parameters": [ - [ - "Int", - "want" - ] - ] - }, - { - "result": "", - "name": "onSetVisible", - "parameters": [ - [ - "Int", - "show" - ] - ] - }, - { - "result": "", - "name": "setAutoSort", - "parameters": [ - [ - "Int", - "dosort" - ] - ] - }, - { - "result": "Int", - "name": "setFontSize", - "parameters": [ - [ - "Int", - "size" - ] - ] - }, - { - "result": "Int", - "name": "getFontSize", - "parameters": [] - }, - { - "result": "Int", - "name": "getHeaderHeight", - "parameters": [] - }, - { - "result": "Int", - "name": "getPreventMultipleSelection", - "parameters": [] - }, - { - "result": "Int", - "name": "setPreventMultipleSelection", - "parameters": [ - [ - "Int", - "val" - ] - ] - }, - { - "result": "", - "name": "setShowIcons", - "parameters": [ - [ - "int", - "showThem" - ] - ] - }, - { - "result": "Int", - "name": "getShowIcons", - "parameters": [] - }, - { - "result": "Int", - "name": "setIconWidth", - "parameters": [ - [ - "int", - "width" - ] - ] - }, - { - "result": "Int", - "name": "setIconHeight", - "parameters": [ - [ - "int", - "width" - ] - ] - }, - { - "result": "", - "name": "getIconWidth", - "parameters": [] - }, - { - "result": "", - "name": "getIconHeight", - "parameters": [] - }, - { - "result": "", - "name": "next", - "parameters": [] - }, - { - "result": "", - "name": "previous", - "parameters": [] - }, - { - "result": "", - "name": "pagedown", - "parameters": [] - }, - { - "result": "", - "name": "pageup", - "parameters": [] - }, - { - "result": "", - "name": "home", - "parameters": [] - }, - { - "result": "", - "name": "end", - "parameters": [] - }, - { - "result": "", - "name": "reset", - "parameters": [] - }, - { - "result": "", - "name": "ensureItemVisible", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "Int", - "name": "scrollAbsolute", - "parameters": [ - [ - "Int", - "x" - ] - ] - }, - { - "result": "Int", - "name": "scrollRelative", - "parameters": [ - [ - "Int", - "x" - ] - ] - }, - { - "result": "", - "name": "scrollLeft", - "parameters": [ - [ - "Int", - "lines" - ] - ] - }, - { - "result": "", - "name": "scrollRight", - "parameters": [ - [ - "Int", - "lines" - ] - ] - }, - { - "result": "", - "name": "scrollUp", - "parameters": [ - [ - "Int", - "lines" - ] - ] - }, - { - "result": "", - "name": "scrollDown", - "parameters": [ - [ - "Int", - "lines" - ] - ] - }, - { - "result": "", - "name": "jumpToNext", - "parameters": [ - [ - "Int", - "c" - ] - ] - }, - { - "result": "", - "name": "scrollToItem", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "", - "name": "selectCurrent", - "parameters": [] - }, - { - "result": "", - "name": "selectFirstEntry", - "parameters": [] - }, - { - "result": "Int", - "name": "getItemSelected", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "Int", - "name": "isItemFocused", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "Int", - "name": "getItemFocused", - "parameters": [] - }, - { - "result": "", - "name": "setItemFocused", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "Int", - "name": "getFirstItemSelected", - "parameters": [] - }, - { - "result": "Int", - "name": "getNextItemSelected", - "parameters": [ - [ - "Int", - "lastpos" - ] - ] - }, - { - "result": "Int", - "name": "selectAll", - "parameters": [] - }, - { - "result": "Int", - "name": "deselectAll", - "parameters": [] - }, - { - "result": "Int", - "name": "invertSelection", - "parameters": [] - }, - { - "result": "", - "name": "setSelectionStart", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "", - "name": "setSelectionEnd", - "parameters": [ - [ - "Int", - "pos" - ] - ] - }, - { - "result": "", - "name": "setSelected", - "parameters": [ - [ - "Int", - "pos" - ], - [ - "Int", - "selected" - ] - ] - }, - { - "result": "", - "name": "toggleSelection", - "parameters": [ - [ - "Int", - "pos" - ], - [ - "Int", - "setfocus" - ] - ] - }, - { - "result": "", - "name": "resort", - "parameters": [] - }, - { - "result": "Int", - "name": "getSortDirection", - "parameters": [] - }, - { - "result": "Int", - "name": "getSortColumn", - "parameters": [] - }, - { - "result": "", - "name": "setSortColumn", - "parameters": [ - [ - "Int", - "col" - ] - ] - }, - { - "result": "", - "name": "setSortDirection", - "parameters": [ - [ - "Int", - "dir" - ] - ] - }, - { - "result": "", - "name": "moveItem", - "parameters": [ - [ - "Int", - "from" - ], - [ - "Int", - "to" - ] - ] - }, - { - "result": "", - "name": "onSelectAll", - "parameters": [] - }, - { - "result": "", - "name": "onDelete", - "parameters": [] - }, - { - "result": "", - "name": "onDoubleClick", - "parameters": [ - [ - "Int", - "itemnum" - ] - ] - }, - { - "result": "", - "name": "onLeftClick", - "parameters": [ - [ - "Int", - "itemnum" - ] - ] - }, - { - "result": "", - "name": "onSecondLeftClick", - "parameters": [ - [ - "Int", - "itemnum" - ] - ] - }, - { - "result": "Int", - "name": "onRightClick", - "parameters": [ - [ - "Int", - "itemnum" - ] - ] - }, - { - "result": "Int", - "name": "onColumnDblClick", - "parameters": [ - [ - "Int", - "col" - ], - [ - "Int", - "x" - ], - [ - "Int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "onColumnLabelClick", - "parameters": [ - [ - "Int", - "col" - ], - [ - "Int", - "x" - ], - [ - "Int", - "y" - ] - ] - }, - { - "result": "", - "name": "onItemSelection", - "parameters": [ - [ - "Int", - "itemnum" - ], - [ - "Int", - "selected" - ] - ] - }, - { - "result": "Int", - "name": "onIconLeftClick", - "parameters": [ - [ - "int", - "itemnum" - ], - [ - "int", - "x" - ], - [ - "int", - "y" - ] - ] - } - ], - "name": "GuiList" - }, - "D59514F7ED3645e8980F3F4EA0522CD9": { - "parent": "GuiObject", - "functions": [ - { - "result": "Int", - "name": "onWantAutoContextMenu", - "parameters": [] - }, - { - "result": "Int", - "name": "onMouseWheelUp", - "parameters": [ - [ - "Int", - "clicked" - ], - [ - "Int", - "lines" - ] - ] - }, - { - "result": "Int", - "name": "onMouseWheelDown", - "parameters": [ - [ - "Int", - "clicked" - ], - [ - "Int", - "lines" - ] - ] - }, - { - "result": "Int", - "name": "onContextMenu", - "parameters": [ - [ - "Int", - "x" - ], - [ - "Int", - "y" - ] - ] - }, - { - "result": "Int", - "name": "onChar", - "parameters": [ - [ - "Int", - "c" - ] - ] - }, - { - "result": "", - "name": "onItemRecvDrop", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "onLabelChange", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "onItemSelected", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "onItemDeselected", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "Int", - "name": "getNumRootItems", - "parameters": [] - }, - { - "result": "TreeItem", - "name": "enumRootItem", - "parameters": [ - [ - "Int", - "which" - ] - ] - }, - { - "result": "", - "name": "jumpToNext", - "parameters": [ - [ - "Int", - "c" - ] - ] - }, - { - "result": "", - "name": "ensureItemVisible", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "Int", - "name": "getContentsWidth", - "parameters": [] - }, - { - "result": "Int", - "name": "getContentsHeight", - "parameters": [] - }, - { - "result": "TreeItem", - "name": "addTreeItem", - "parameters": [ - [ - "TreeItem", - "item" - ], - [ - "TreeItem", - "par" - ], - [ - "Int", - "sorted" - ], - [ - "Int", - "haschildtab" - ] - ] - }, - { - "result": "Int", - "name": "removeTreeItem", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "moveTreeItem", - "parameters": [ - [ - "TreeItem", - "item" - ], - [ - "TreeItem", - "newparent" - ] - ] - }, - { - "result": "", - "name": "deleteAllItems", - "parameters": [] - }, - { - "result": "Int", - "name": "expandItem", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "expandItemDeferred", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "Int", - "name": "collapseItem", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "collapseItemDeferred", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "selectItem", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "selectItemDeferred", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "delItemDeferred", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "hiliteItem", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "unhiliteItem", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "TreeItem", - "name": "getCurItem", - "parameters": [] - }, - { - "result": "TreeItem", - "name": "hitTest", - "parameters": [ - [ - "Int", - "x" - ], - [ - "Int", - "y" - ] - ] - }, - { - "result": "", - "name": "editItemLabel", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "cancelEditLabel", - "parameters": [ - [ - "Int", - "destroyit" - ] - ] - }, - { - "result": "", - "name": "setAutoEdit", - "parameters": [ - [ - "Int", - "ae" - ] - ] - }, - { - "result": "Int", - "name": "getAutoEdit", - "parameters": [] - }, - { - "result": "TreeItem", - "name": "getByLabel", - "parameters": [ - [ - "TreeItem", - "item" - ], - [ - "String", - "name" - ] - ] - }, - { - "result": "", - "name": "setSorted", - "parameters": [ - [ - "Int", - "dosort" - ] - ] - }, - { - "result": "Int", - "name": "getSorted", - "parameters": [] - }, - { - "result": "", - "name": "sortTreeItems", - "parameters": [] - }, - { - "result": "TreeItem", - "name": "getSibling", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "", - "name": "setAutoCollapse", - "parameters": [ - [ - "Int", - "doautocollapse" - ] - ] - }, - { - "result": "Int", - "name": "setFontSize", - "parameters": [ - [ - "Int", - "newsize" - ] - ] - }, - { - "result": "Int", - "name": "getFontSize", - "parameters": [] - }, - { - "result": "Int", - "name": "getNumVisibleChildItems", - "parameters": [ - [ - "TreeItem", - "c" - ] - ] - }, - { - "result": "Int", - "name": "getNumVisibleItems", - "parameters": [] - }, - { - "result": "TreeItem", - "name": "enumVisibleItems", - "parameters": [ - [ - "Int", - "n" - ] - ] - }, - { - "result": "TreeItem", - "name": "enumVisibleChildItems", - "parameters": [ - [ - "TreeItem", - "c" - ], - [ - "Int", - "n" - ] - ] - }, - { - "result": "TreeItem", - "name": "enumAllItems", - "parameters": [ - [ - "Int", - "n" - ] - ] - }, - { - "result": "Int", - "name": "getItemRectX", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "Int", - "name": "getItemRectY", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "Int", - "name": "getItemRectW", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "Int", - "name": "getItemRectH", - "parameters": [ - [ - "TreeItem", - "item" - ] - ] - }, - { - "result": "TreeItem", - "name": "getItemFromPoint", - "parameters": [ - [ - "Int", - "x" - ], - [ - "Int", - "y" - ] - ] - } - ], - "name": "GuiTree" - }, - "9B3B4B82667A420e8FFC794115809C02": { - "parent": "Object", - "functions": [ - { - "result": "Int", - "name": "getNumChildren", - "parameters": [] - }, - { - "result": "", - "name": "setLabel", - "parameters": [ - [ - "String", - "label" - ] - ] - }, - { - "result": "String", - "name": "getLabel", - "parameters": [] - }, - { - "result": "", - "name": "ensureVisible", - "parameters": [] - }, - { - "result": "TreeItem", - "name": "getNthChild", - "parameters": [ - [ - "Int", - "nth" - ] - ] - }, - { - "result": "TreeItem", - "name": "getChild", - "parameters": [] - }, - { - "result": "TreeItem", - "name": "getChildSibling", - "parameters": [ - [ - "TreeItem", - "_item" - ] - ] - }, - { - "result": "TreeItem", - "name": "getSibling", - "parameters": [] - }, - { - "result": "TreeItem", - "name": "getParent", - "parameters": [] - }, - { - "result": "", - "name": "editLabel", - "parameters": [] - }, - { - "result": "Int", - "name": "hasSubItems", - "parameters": [] - }, - { - "result": "", - "name": "setSorted", - "parameters": [ - [ - "Int", - "issorted" - ] - ] - }, - { - "result": "", - "name": "setChildTab", - "parameters": [ - [ - "Int", - "haschildtab" - ] - ] - }, - { - "result": "Int", - "name": "isSorted", - "parameters": [] - }, - { - "result": "Int", - "name": "isCollapsed", - "parameters": [] - }, - { - "result": "Int", - "name": "isExpanded", - "parameters": [] - }, - { - "result": "", - "name": "invalidate", - "parameters": [] - }, - { - "result": "Int", - "name": "isSelected", - "parameters": [] - }, - { - "result": "Int", - "name": "isHilited", - "parameters": [] - }, - { - "result": "", - "name": "setHilited", - "parameters": [ - [ - "Int", - "ishilited" - ] - ] - }, - { - "result": "Int", - "name": "collapse", - "parameters": [] - }, - { - "result": "Int", - "name": "expand", - "parameters": [] - }, - { - "result": "GuiTree", - "name": "getTree", - "parameters": [] - }, - { - "result": "", - "name": "onTreeAdd", - "parameters": [] - }, - { - "result": "", - "name": "onTreeRemove", - "parameters": [] - }, - { - "result": "", - "name": "onSelect", - "parameters": [] - }, - { - "result": "", - "name": "onDeselect", - "parameters": [] - }, - { - "result": "Int", - "name": "onLeftDoubleClick", - "parameters": [] - }, - { - "result": "Int", - "name": "onRightDoubleClick", - "parameters": [] - }, - { - "result": "Int", - "name": "onChar", - "parameters": [ - [ - "Int", - "key" - ] - ] - }, - { - "result": "", - "name": "onExpand", - "parameters": [] - }, - { - "result": "", - "name": "onCollapse", - "parameters": [] - }, - { - "result": "Int", - "name": "onBeginLabelEdit", - "parameters": [] - }, - { - "result": "Int", - "name": "onEndLabelEdit", - "parameters": [ - [ - "String", - "newlabel" - ] - ] - }, - { - "result": "Int", - "name": "onContextMenu", - "parameters": [ - [ - "Int", - "x" - ], - [ - "Int", - "y" - ] - ] - } - ], - "name": "TreeItem" - }, - "1D8631C880D047929F98BD5D36B49136": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "onOpenMenu", - "parameters": [] - }, - { - "result": "", - "name": "onCloseMenu", - "parameters": [] - }, - { - "result": "", - "name": "onSelectItem", - "parameters": [ - [ - "String", - "item" - ] - ] - }, - { - "result": "", - "name": "openMenu", - "parameters": [] - }, - { - "result": "", - "name": "closeMenu", - "parameters": [] - } - ], - "name": "MenuButton" - }, - "C7ED319953194798986360B15A298CAA": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "onToggle", - "parameters": [ - [ - "int", - "newstate" - ] - ] - }, - { - "result": "", - "name": "setChecked", - "parameters": [ - [ - "int", - "checked" - ] - ] - }, - { - "result": "Int", - "name": "isChecked", - "parameters": [] - }, - { - "result": "", - "name": "setText", - "parameters": [ - [ - "String", - "txt" - ] - ] - }, - { - "result": "String", - "name": "getText", - "parameters": [] - } - ], - "name": "CheckBox" - }, - "2D2D1376BE0A4CB9BC0C57E6E4C999F5": { - "parent": "GuiObject", - "functions": [ - { - "result": "Int", - "name": "getContentsHeight", - "parameters": [] - }, - { - "result": "", - "name": "newCell", - "parameters": [ - [ - "String", - "groupname" - ] - ] - }, - { - "result": "", - "name": "nextRow", - "parameters": [] - }, - { - "result": "", - "name": "deleteAll", - "parameters": [] - } - ], - "name": "Form" - }, - "E2BBC14D84F64173BDB3B2EB2F665550": { - "parent": "GuiObject", - "functions": [ - { - "result": "Int", - "name": "getPosition", - "parameters": [] - }, - { - "result": "", - "name": "setPosition", - "parameters": [ - [ - "Int", - "position" - ] - ] - }, - { - "result": "", - "name": "onSetPosition", - "parameters": [ - [ - "Int", - "position" - ] - ] - } - ], - "name": "Frame" - }, - "73C00594961F401B9B1B672427AC4165": { - "parent": "GuiObject", - "functions": [ - { - "result": "", - "name": "setMenuGroup", - "parameters": [ - [ - "String", - "groupId" - ] - ] - }, - { - "result": "String", - "name": "getMenuGroup", - "parameters": [] - }, - { - "result": "", - "name": "setMenu", - "parameters": [ - [ - "String", - "menuId" - ] - ] - }, - { - "result": "String", - "name": "getMenu", - "parameters": [] - }, - { - "result": "", - "name": "spawnMenu", - "parameters": [ - [ - "int", - "monitor" - ] - ] - }, - { - "result": "", - "name": "cancelMenu", - "parameters": [] - }, - { - "result": "", - "name": "setNormalId", - "parameters": [ - [ - "String", - "id" - ] - ] - }, - { - "result": "", - "name": "setDownId", - "parameters": [ - [ - "String", - "id" - ] - ] - }, - { - "result": "", - "name": "setHoverId", - "parameters": [ - [ - "String", - "id" - ] - ] - }, - { - "result": "", - "name": "onOpenMenu", - "parameters": [] - }, - { - "result": "", - "name": "onCloseMenu", - "parameters": [] - }, - { - "result": "", - "name": "nextMenu", - "parameters": [] - }, - { - "result": "", - "name": "previousMenu", - "parameters": [] - } - ], - "name": "Menu" - } -} \ No newline at end of file diff --git a/packages/webamp-modern-2/src/utils.ts b/packages/webamp-modern-2/src/utils.ts deleted file mode 100644 index 86895da0..00000000 --- a/packages/webamp-modern-2/src/utils.ts +++ /dev/null @@ -1,160 +0,0 @@ -import JSZip, { JSZipObject } from "jszip"; - -export function assert(condition: boolean, message: string) { - if (!condition) { - throw new Error(message); - } -} - -// While developing I want to clarify some assumptions. These are things which -// don't need to break the world, but I would like to know if/when my -// assumptions are invalidated. -// In the future these can be turned into warnings. -export function assume(condition: boolean, message: string) { - if (!condition) { - console.warn(message); - } - return condition; -} - -export function getCaseInsensitiveFile( - zip: JSZip, - filePath: string -): JSZipObject | null { - const normalized = filePath.replace(/[\/\\]/g, `[/\\\\]`); - return zip.file(new RegExp(normalized, "i"))[0] ?? null; -} - -export function num(str: string | void): number | null { - return str == null ? null : Number(str); -} - -export function px(size: number): string { - return `${size}px`; -} - -export function relative(size: number): string { - if (size === 0) return "100%"; - return `calc(100% + ${size}px)`; -} - -export function toBool(str: string) { - assert( - str === "0" || str === "1", - `Expected bool value to be "0" or "1", but it was "${str}".` - ); - return str === "1"; -} - -let id = 0; -export function getId(): number { - return id++; -} - -// TODO: Delete this once we have proper type coersion in the VM. -export function ensureVmInt(num: number): number { - return Math.floor(num); -} - -export function clamp(num: number, min: number, max: number): number { - return Math.max(min, Math.min(num, max)); -} - -export function normalizeDomId(id: string) { - return id.replace(/[^a-zA-Z0-9]/g, "-"); -} - -export function removeAllChildNodes(parent: Element) { - while (parent.firstChild) { - parent.removeChild(parent.firstChild); - } -} - -export function integerToTime(seconds: number): string { - const mins = Math.floor(seconds / 60); - const secs = String(Math.round(seconds % 60)).padStart(2, "0"); - return `${mins}:${secs}`; -} - -export function findLast( - arr: T[], - predicate: (value: T) => boolean -): T | undefined { - for (let i = arr.length - 1; i >= 0; i--) { - const value = arr[i]; - if (predicate(value)) { - return value; - } - } -} - -export function getUrlQuery(location: Location, variable: string): string { - return new URL(location.href).searchParams.get(variable); -} - -export const throttle = (fn: Function, wait: number = 300) => { - let inThrottle: boolean, - lastFn: ReturnType, - lastTime: number; - return function (this: any) { - const context = this, - args = arguments; - if (!inThrottle) { - fn.apply(context, args); - lastTime = Date.now(); - inThrottle = true; - } else { - clearTimeout(lastFn); - lastFn = setTimeout(() => { - if (Date.now() - lastTime >= wait) { - fn.apply(context, args); - lastTime = Date.now(); - } - }, Math.max(wait - (Date.now() - lastTime), 0)); - } - }; -}; - -/** - * Purpuse: to hold eventListeners - */ -export class Emitter { - _cbs: { [event: string]: Array } = {}; - - // call this to register a callback to a specific event - on(event: string, cb: Function) { - if (this._cbs[event] == null) { - this._cbs[event] = []; - } - this._cbs[event].push(cb); - - // return a function for later unregistering - return () => { - //TODO: consider using this.off(), or integrate both - this._cbs[event] = this._cbs[event].filter((c) => c !== cb); - }; - } - - // remove an registered callback from a specific event - off(event: string, cb: Function) { - if (this._cbs[event] == null) { - return; - } - const cbs = this._cbs[event]; - const index = cbs.indexOf(cb, 0); - if (index > -1) { - cbs.splice(index, 1); - } - } - - // call this to run registered callbacks of an event - trigger(event: string, ...args: any[]) { - const subscriptions = this._cbs[event]; - if (subscriptions == null) { - return; - } - for (const cb of subscriptions) { - cb(...args); - } - } -} diff --git a/packages/webamp-modern-2/tools/extract-object-types.js b/packages/webamp-modern-2/tools/extract-object-types.js deleted file mode 100644 index ed8faaee..00000000 --- a/packages/webamp-modern-2/tools/extract-object-types.js +++ /dev/null @@ -1,21 +0,0 @@ -import { parseFile } from "./parse-mi"; -import path from "path"; -import fs from "fs"; - -const compilers = path.join(__dirname, "../../../resources/maki_compiler/"); - -const lib566 = path.join(compilers, "v1.2.0 (Winamp 5.66)/lib/"); - -const files = { - pldir: path.join(lib566, "pldir.mi"), - config: path.join(lib566, "config.mi"), - std: path.join(lib566, "std.mi"), -}; - -Object.keys(files).forEach((name) => { - const sourcePath = files[name]; - const types = parseFile(sourcePath); - const destinationPath = path.join(__dirname, `../objectData/${name}.json`); - - fs.writeFileSync(destinationPath, JSON.stringify(types, null, 2)); -}); diff --git a/packages/webamp-modern-2/tsconfig.json b/packages/webamp-modern-2/tsconfig.json deleted file mode 100644 index c06e60a9..00000000 --- a/packages/webamp-modern-2/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "target": "es2015", - "esModuleInterop": true, - "allowJs": true, - "resolveJsonModule": true - } -} diff --git a/packages/webamp-modern/.babelrc b/packages/webamp-modern/.babelrc deleted file mode 100644 index ce4b793b..00000000 --- a/packages/webamp-modern/.babelrc +++ /dev/null @@ -1,44 +0,0 @@ -{ - "presets": [ - [ - "@babel/preset-env", - { - "useBuiltIns": "entry", - "corejs": "2", - "targets": { - "browsers": [ - "last 2 Chrome versions", - "last 2 ChromeAndroid versions", - "last 2 Safari versions", - "last 2 Firefox versions", - "last 2 Edge versions", - "last 2 iOS versions", - "last 2 Opera versions" - ] - } - } - ], - "@babel/preset-react", - "@babel/preset-typescript" - ], - "plugins": [ - "@babel/plugin-proposal-nullish-coalescing-operator", - "@babel/plugin-proposal-optional-chaining", - "@babel/plugin-proposal-object-rest-spread", - "@babel/plugin-proposal-class-properties" - ], - "env": { - "test": { - "plugins": [ - "@babel/plugin-transform-modules-commonjs", - "@babel/plugin-syntax-dynamic-import" - ] - }, - "library": { - "plugins": ["@babel/plugin-transform-runtime"] - }, - "production": { - "plugins": ["@babel/plugin-syntax-dynamic-import"] - } - } -} diff --git a/packages/webamp-modern/.eslintignore b/packages/webamp-modern/.eslintignore index 6a659d86..d1638636 100644 --- a/packages/webamp-modern/.eslintignore +++ b/packages/webamp-modern/.eslintignore @@ -1,6 +1 @@ -*.min.js -built/ -coverage/ -**/node_modules/ -examples/webpack/bundle.js -pacakges/tweetBot/env/ \ No newline at end of file +build/ \ No newline at end of file diff --git a/packages/webamp-modern/.eslintrc b/packages/webamp-modern/.eslintrc deleted file mode 100644 index 34669f84..00000000 --- a/packages/webamp-modern/.eslintrc +++ /dev/null @@ -1,164 +0,0 @@ -{ - "parser": "@typescript-eslint/parser", - "parserOptions": { - "jsx": true, - "sourceType": "module", - "ecmaFeatures": { - "jsx": true, - "experimentalObjectRestSpread": true - } - }, - "plugins": [ - "react", - "prettier", - "import", - "@typescript-eslint", - "react-hooks" - ], - "settings": { - "react": { - "version": "15.2" - }, - "import/resolver": { - "node": { - "extensions": [".js", ".ts", ".tsx"] - } - } - }, - "env": { - "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": { - "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": [ - "error", - { - "max": 2, - "maxEOF": 0, - "maxBOF": 0 - } - ], - "block-scoped-var": "warn", - "constructor-super": "error", - "dot-notation": "error", - "eqeqeq": ["error", "smart"], - "guard-for-in": "error", - "lines-between-class-members": [ - "warn", - "always", - { "exceptAfterSingleLine": true } - ], - "max-depth": ["warn", 4], - "max-params": ["warn", 5], - "new-cap": "error", - "no-caller": "error", - "no-catch-shadow": "error", - "no-const-assign": "error", - "no-debugger": "error", - "no-delete-var": "error", - "no-div-regex": "warn", - "no-dupe-args": "error", - "no-dupe-class-members": "error", - "no-dupe-keys": "error", - "no-duplicate-case": "error", - "no-duplicate-imports": "error", - "no-else-return": "error", - "no-empty-character-class": "error", - "no-eval": "error", - "no-ex-assign": "error", - "no-extend-native": "warn", - "no-extra-boolean-cast": "error", - "no-extra-semi": "error", - "no-fallthrough": "error", - "no-floating-decimal": "error", - "no-func-assign": "error", - "no-implied-eval": "error", - "no-inner-declarations": "error", - "no-irregular-whitespace": "error", - "no-label-var": "error", - "no-labels": "error", - "no-lone-blocks": "error", - "no-lonely-if": "error", - "no-multi-spaces": "warn", - "no-multi-str": "error", - "no-native-reassign": "error", - "no-negated-in-lhs": "warn", - "no-nested-ternary": "warn", - "no-new-object": "error", - "no-new-symbol": "error", - "no-new-wrappers": "error", - "no-obj-calls": "error", - "no-octal": "error", - "no-octal-escape": "error", - "no-proto": "error", - "no-redeclare": "error", - "no-shadow": "warn", - "no-spaced-func": "error", - "no-this-before-super": "error", - "no-throw-literal": "error", - "no-trailing-spaces": "error", - "no-undef": "error", - "no-undef-init": "error", - "no-unneeded-ternary": "error", - "no-unreachable": "error", - "no-unused-expressions": "error", - "@typescript-eslint/no-unused-vars": [ - "error", - { "ignoreRestSiblings": true } - ], - "no-useless-rename": "error", - "no-var": "error", - "no-with": "error", - "prefer-arrow-callback": "warn", - "prefer-const": "error", - "prefer-spread": "error", - "prefer-template": "warn", - "radix": "error", - "no-return-await": "error", - "react/no-string-refs": "error", - "react/jsx-boolean-value": "error", - "react/jsx-uses-react": "error", - "react/jsx-uses-vars": "error", - "react/prefer-es6-class": "error", - "react/jsx-pascal-case": "error", - "react/require-render-return": "error", - "react/self-closing-comp": "error", - "react/no-unescaped-entities": "error", - "use-isnan": "error", - "valid-typeof": "error", - "import/default": "error", - "import/export": "error", - "import/first": "error", - "import/named": "error", - "import/namespace": "error", - "import/no-duplicates": "error", - "import/no-extraneous-dependencies": "error", - "import/no-named-as-default-member": "error", - "react-hooks/rules-of-hooks": "error", - "react-hooks/exhaustive-deps": "error" - } -} diff --git a/packages/webamp-modern-2/.eslintrc.js b/packages/webamp-modern/.eslintrc.js similarity index 77% rename from packages/webamp-modern-2/.eslintrc.js rename to packages/webamp-modern/.eslintrc.js index 42a813f5..92cc655e 100644 --- a/packages/webamp-modern-2/.eslintrc.js +++ b/packages/webamp-modern/.eslintrc.js @@ -1,5 +1,5 @@ const rulesDirPlugin = require("eslint-plugin-rulesdir"); -rulesDirPlugin.RULES_DIR = "packages/webamp-modern-2/tools/eslint-rules/dist"; +rulesDirPlugin.RULES_DIR = "packages/webamp-modern/tools/eslint-rules/dist"; module.exports = { root: true, diff --git a/packages/webamp-modern/.gitignore b/packages/webamp-modern/.gitignore index 293baaae..d1638636 100644 --- a/packages/webamp-modern/.gitignore +++ b/packages/webamp-modern/.gitignore @@ -1,6 +1 @@ -**/node_modules - -/built -/coverage -/examples/webpack/bundle.js -**/__diff_output__/ +build/ \ No newline at end of file diff --git a/packages/webamp-modern/.prettierignore b/packages/webamp-modern/.prettierignore deleted file mode 100644 index a90e9ecf..00000000 --- a/packages/webamp-modern/.prettierignore +++ /dev/null @@ -1,6 +0,0 @@ -package.json -**/*.min.css -**/base-skin.css -built/* -coverage/* -examples/webpack/bundle.js diff --git a/packages/webamp-modern/README.md b/packages/webamp-modern/README.md index 20d6439d..8272b7f0 100644 --- a/packages/webamp-modern/README.md +++ b/packages/webamp-modern/README.md @@ -1,46 +1,67 @@ -# Modern Winamp Skins +## Running locally -This package is an experiment to see if we can bring "modern" Winamp skins to the browser. It's still very early. If you have any qeustions or are interested in getting involved, feel free to check out our [Discord server](https://discord.gg/mEcRbVq). +Assuming you have [Yarn](https://yarnpkg.com/) installed: -- We have a master task here which is sometimes up to date: https://github.com/captbaritone/webamp/issues/796 -- We have a shared Dropbox Paper doc with contains a grab bag of notes, but it will likely be hard to newcomers to read. You can find it [here](https://paper.dropbox.com/doc/Webamp-Modern-Skins-Notes--AgWp4Jwdobq13VLYYOgwJGOCAQ-UpeDNptmJ0t6aN1jlWbfU). -- We have a document with [meeting notes](https://paper.dropbox.com/doc/Meeting-Notes-lPgIliU4ZThefBT3J8g2a) from the few in-person meetings that Jordan Eldredge and Jordan Berg have had to discuss the project. - -## Maki Interpreter - -One of the biggest challenges to this project is that modern skins could define their own behavior by writing scripts in a custom language called Maki (Make a Killer Interface). One of the critical pieces of this project will be to write a working Maki interpreter and runtime in browser-compatible JavaScript. We have made good progress on this front. The work on that project lives in `src/maki-interpreter` and has its own [readme](./src/maki-interpreter/readme.md). - -One goal of this project is to document what we learn about the Maki language so that if others wish to travel down this path they will have an open source reference implementation and also better docs than we had. We've started that effort with out [Maki Language Spec](https://paper.dropbox.com/doc/Maki-Language-Spec--AlIjyyR70bQuNFJD7rIeuFfiAg-csainvAwSr3SBUXO5DWXy) document. Once the document stabalizes, we will likely convert it to Markdown and check it into this repository. - -Another way to document the behavior of Maki is to write automated tests in the form of Maki scripts. We have few of these so far, but intend to be more systematic about writing tests in the future. For now our tests can be found in `resources/maki_compiler/*/*.maki` and `src/maki-interpreter/fixtures/issue_*/*.maki`. - -## Standard Library - -In addition to the Maki interpreter, we also need an implementation of the Maki standard library. We have some portion of that implmented, but it's still very much a work in progress. You can find the code in `src/runtime/`. The definition for how these classes and methods should behave is derived from looking at the types defined in the `std.mi` file distributed with the Maki compiler. We have a file that contains a JSON representation of these types. It can be found in `src/objects.js`. That file is used for a few runtime checks (which I hope we can remove) but also to power some static analysis and tests. - -`src/objects.test.js` does some tests to double check that every method no prefixed with `_` or `js_` is a maki method. It also tracks which methods are still unimplemented in a Jest snapshot file. - -`eslint-local-rules.js` contains a custom [ESLint](https://eslint.org/) rule which uses the type definitions to check many of the same things that the Jest test checks, but also can make assertions about argument names and TypeScript types. This approach also has the advantage that it can automatically correct some errors and generate stubs for missing methods. - -We also have a tool for examining a corpus of modern skins an extracting which methods of the standard libary they use. This lives in `src/maki-interpreter/tools/extract-functions.js` it's not really built for anyone but Jordan to run, so it has a few paths hard coded into it. This could be fixed if somebody else had the interest. By running `yarn analyze-wals` it will look in a specific hard-coded folder for skins and extract method data from them. It will then write that data to `resources/maki-skin-data.json`. This data is invaluable for prioritizing which methods we should implement next. Some methods are only used by a very small number of skins. Others are not used at all. - -The data extracted by the `extract-functions.js` utility and the list of unimplmented methods which is validated by `src/objects.test.js` can be visualized visiting [https://webamp.org/ready/](https://webamp.org/ready/) or `localhost:8080/ready` if developing locally. This dashboard makes it very easy to see current progress and explore the usage of different methods. Keep in mind that as of this writting some ~20% of `.maki` files fail to parse, so the data on this page represents a lower bound of actual usage. - -## Architecture - -How we tie together our standard library implementation, the interpreter and the DOM (React) is still not a solved problem. We have stuff working, but we are not sure it's the right approach. We are currently doing work to move toward what we are calling [Mutable XML Tree](https://paper.dropbox.com/doc/A-Third-Way-Mutable-XML-Tree-vx3iPfGIBmSHEDJSMh0bn) architecture but, to be honest, we are not 100% this will actually work. - -## Running - -This experiment is now built as part of the main Webamp project. To run it locally you just need to do the following from the repositories root directory: - -``` +```bash +cd packages/webamp-modern-2 yarn yarn start ``` -Then open: `http://localhost:8080/`. +## Performance Improvements -## Tests +- [ ] We could use WebGL to try to improve the speed of switching gamma colors +- [ ] We could use some CSS techniques to avoid having to appply inline style to each BitmapFont character's DOM node. +- [ ] We should profile the parse phase to see what's taking time. Perhaps there's some sync image work that could be done lazily. +- [ ] Remove some paranoid validation in the VM. +- [ ] Consider throttling time updates coming from audio -This experiments tests are run as part of the main Webamp test suite. To run all tests just run: `yart test`. +# TODO Next + +- [ ] Why doesn't scrolling work property in MMD3? +- [ ] Implement proper color + - [ ] Move gammacolor to GPU +- [ ] Requires VM + - [ ] Look at componentbucket (Where can I find the images) + - [ ] How is the scroll window for colors supposed to work? + - [ ] How is the position slider supposed to work? +- [ ] Standardize handling of different type condition permutations in interpreter +- [ ] Implement EQ +- [ ] Implament global actions + - [ ] TOGGLE + - [ ] MINIMIZE +- [ ] Allow for skins which don't have gamma sets +- [ ] Figure out if global NULL is actually typed as INT in Maki. I suspect there is no NULL type, but only an INT who happens to be zero. +- [ ] Fix all `// FIXME` +- [ ] SystemObject.getruntimeversion +- [ ] SystemObject.getskinname +- [ ] Handle clicking through transparent: https://stackoverflow.com/questions/38487569/click-through-png-image-only-if-clicked-coordinate-is-transparent + +# TODO Some day + +- [ ] Handle case (in)sensitivity of includes. +- [ ] Handle forward/backward slashes issues (if they exist) + +## Known Bugs + +- [ ] In GuiObj's handling of left click, it's possible for the y/x of the click event to fall outside of the element being clicked. To repro click just above the volume2 of MMD3. Y can be one pixel above the clientBoundingRect of the element. Why? + +# Phases of Initialization + +## Asset Parse + +Starting with `skin.xml`, and inlining each `` we parse XML. As we go, we initialize GUI objects and attach them to their parent. During this phase we also encounter other asset files like Maki script, images, and fonts. These are parsed as they are encountered and setaside into a look-aside table (Maki scripts might live in the tree...). + +This phase is `async` since it may require reading files from zip or doing image/font manipulation which is inherently `async`. + +## Object Initialization + +Once all look-aside tables are populated, we notify all GUI objects to initialize themselves by propogating from the root of the tree to the leaves. Each node is reponsible for notifying its children. In this phase components pull images/scripts/fonts out of their look-aside tables. [Question: Could these just be lazy?]. At this point we also hook up any event bindings/hooks that exist in Maki. + +## Maki Initialization + +Once all nodes have been initialized, we trigger/dispatch `System.onScriptLoaded` for each Maki script. + +## First paint + +Now we can begin panting diff --git a/packages/webamp-modern-2/assets/.gitignore b/packages/webamp-modern/assets/.gitignore similarity index 100% rename from packages/webamp-modern-2/assets/.gitignore rename to packages/webamp-modern/assets/.gitignore diff --git a/packages/webamp-modern-2/assets/CornerAmp_Redux.wal b/packages/webamp-modern/assets/CornerAmp_Redux.wal similarity index 100% rename from packages/webamp-modern-2/assets/CornerAmp_Redux.wal rename to packages/webamp-modern/assets/CornerAmp_Redux.wal diff --git a/packages/webamp-modern-2/assets/Default_winamp3_build499.wal b/packages/webamp-modern/assets/Default_winamp3_build499.wal similarity index 100% rename from packages/webamp-modern-2/assets/Default_winamp3_build499.wal rename to packages/webamp-modern/assets/Default_winamp3_build499.wal diff --git a/packages/webamp-modern-2/assets/MMD3.wal b/packages/webamp-modern/assets/MMD3.wal similarity index 100% rename from packages/webamp-modern-2/assets/MMD3.wal rename to packages/webamp-modern/assets/MMD3.wal diff --git a/packages/webamp-modern-2/assets/WinampModern566.wal b/packages/webamp-modern/assets/WinampModern566.wal similarity index 100% rename from packages/webamp-modern-2/assets/WinampModern566.wal rename to packages/webamp-modern/assets/WinampModern566.wal diff --git a/packages/webamp-modern-2/assets/favicon.ico b/packages/webamp-modern/assets/favicon.ico similarity index 100% rename from packages/webamp-modern-2/assets/favicon.ico rename to packages/webamp-modern/assets/favicon.ico diff --git a/packages/webamp-modern/config/jest.unit.js b/packages/webamp-modern/config/jest.unit.js deleted file mode 100644 index fe358d3b..00000000 --- a/packages/webamp-modern/config/jest.unit.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - displayName: "test", - rootDir: "../", - testRegex: "\\.test\\.(js|ts|tsx)$", - globals: { - SENTRY_DSN: null, - }, - moduleFileExtensions: ["js", "tsx", "ts"], - moduleNameMapper: { - // "\\.css$": "/js/__mocks__/styleMock.js", - // "\\.wsz$": "/js/__mocks__/fileMock.js", - // "\\.mp3$": "/js/__mocks__/fileMock.js", - }, - transform: { - "^.+\\.(js|ts|tsx)$": "babel-jest", - }, - testPathIgnorePatterns: ["/node_modules/"], -}; diff --git a/packages/webamp-modern/config/webpack.common.js b/packages/webamp-modern/config/webpack.common.js deleted file mode 100644 index 702caaad..00000000 --- a/packages/webamp-modern/config/webpack.common.js +++ /dev/null @@ -1,74 +0,0 @@ -const path = require("path"); -const HtmlWebpackPlugin = require("html-webpack-plugin"); - -module.exports = { - resolve: { - extensions: [".js", ".ts", ".tsx"], - }, - module: { - rules: [ - { - test: /\.css$/, - use: [ - "style-loader", - { loader: "css-loader", options: { importLoaders: 1 } }, - // We really only need this in prod. We could find a way to disable it in dev. - ], - }, - { - test: /\.(js|ts|tsx)?$/, - exclude: /(node_modules)/, - use: { - loader: "babel-loader", - options: { - envName: "production", - }, - }, - }, - { - test: /\.(wsz|wal|mp3|png|ico|jpg|svg)$/, - use: [ - { - loader: "file-loader", - options: { - emitFile: true, - name: "[path][name]-[hash].[ext]", - }, - }, - ], - }, - ], - noParse: [/jszip\.js$/], - }, - plugins: [ - new HtmlWebpackPlugin({ - filename: "index.html", - template: "./index.html", - chunks: ["modern"], - }), - // Ideally we could just do this via client-side routing, but it's tricky - // with both the real app and this sub directory. So we just hack it to - // duplicate the html file in both places and move on with our lives. - new HtmlWebpackPlugin({ - filename: "./ready/index.html", - template: "./index.html", - chunks: ["modern"], - }), - ], - - performance: { - // We do some crazy shit okay! Don't judge! - maxEntrypointSize: 7000000, - maxAssetSize: 7000000, - }, - entry: { - modern: ["./src/index.js"], - }, - context: path.resolve(__dirname, "../"), - output: { - filename: "[name]-[hash].js", - chunkFilename: "[name]-[hash].js", - publicPath: "/", - path: path.resolve(__dirname, "../built"), - }, -}; diff --git a/packages/webamp-modern/config/webpack.dev.js b/packages/webamp-modern/config/webpack.dev.js deleted file mode 100644 index 9bb2b4f6..00000000 --- a/packages/webamp-modern/config/webpack.dev.js +++ /dev/null @@ -1,10 +0,0 @@ -const merge = require("webpack-merge"); -const common = require("./webpack.common.js"); - -module.exports = merge(common, { - devtool: "source-map", - mode: "development", - devServer: { - overlay: true, - }, -}); diff --git a/packages/webamp-modern/config/webpack.prod.js b/packages/webamp-modern/config/webpack.prod.js deleted file mode 100644 index 7cafcfea..00000000 --- a/packages/webamp-modern/config/webpack.prod.js +++ /dev/null @@ -1,10 +0,0 @@ -const merge = require("webpack-merge"); - -const common = require("./webpack.common.js"); - -const config = merge(common, { - devtool: "source-map", - mode: "production", -}); - -module.exports = config; diff --git a/packages/webamp-modern/index.html b/packages/webamp-modern/index.html deleted file mode 100644 index ac3810b3..00000000 --- a/packages/webamp-modern/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Webamp · Modern Skin Rendering Experiment [PRE-ALPHA] - - - -
- - diff --git a/packages/webamp-modern/maki.md b/packages/webamp-modern/maki.md deleted file mode 100644 index 4d56da5b..00000000 --- a/packages/webamp-modern/maki.md +++ /dev/null @@ -1,259 +0,0 @@ -# MAKI - -In the process of starting to build support for "modern" Winamp skins for Webamp, we built an interpreter for MAKI (Make A Killer Interface) byte code, the scripting language used for adding custom functionality to modern Winamp skins. - -Most of what we learned came from the Ralf Engels' [Maki Decompiler](http://www.rengels.de/maki_decompiler/) (which seems to be offline at the moment) and trial and error testing of what the compiler output. - -My goal here is to document the structure and semantics of the compiled `.maki` file that the MAKI compiler outputs and Winamp interprerates. - -## Notation - -- Terminal symbols are written in **bold** -- Nonterminal symbols are written in _italics_ -- Productions are written _sym_ ::= A B C -- Vectors are written as vec(_A_) where _A_ is the production being enumerated. - -### _u16_ - -TODO: Clarify encoding. - -Encoded as little endien. - -### _u32_ - -TODO: Clarify encoding. - -Encoded as little endien. - -### _Vector_ - -_Vectors_ are encoded with their _u32_ length followed by the encoding of their element sequence. - -### _String_ - -A string is encoded as a _u16_ indicating the length of the string n followed by n bytes of ASCII. - -## Module Sections - -_module_ ::= _header_ _classes_ _methods_ _variables_ _constants_ _bindings_ _codes_ - -A module (file) consists of the above seven consecutive sections. - -## Header - -_header_ ::= _magic_ _moduleVersion_ _extraVersion_ - -_magic_ ::= **`0x46`** **`0x47`** - -_moduleVersion_ ::= _u16_ -_extraVersion_ ::= _u32_ - -The _magic_ that beings the header consists of the binary representation of the ASCII characters "FG". I'm not sure what, if any, significance there is to this choice. These characters are simply here for the parser to validate that it's actually geting a `.maki` file. - -_moduleVersion_ represents the version of the compiler with which this module was compiled. - -_extraVersion_ is unused. I suspect that it may be additional version information, but I don't know for sure. - -## Classes - -_classes_ ::= vec(_identifier_) -_identifier_ ::= _u32_ _u32_ _u32_ _u32_ - -The _identifier_ represents the unique ID found in the `std.mi` against which the module was compiled. The hex string can be computed by interpreting each _u32_ as a hex string (left padded to 8 characters) and then concatenating them. - -Note: The ASCII representation we construct above may not directly match that found in `std.mi` due to the [oddities of UUID encoding](https://en.wikipedia.org/wiki/Universally_unique_identifier#Encoding). We use the following function to map from our representation to the one fond in `std.mi`: - -```JavaScript -function getFormattedId(id) { - // https://en.wikipedia.org/wiki/Universally_unique_identifier#Encoding - const formattedId = id.replace( - /(........)(....)(....)(..)(..)(..)(..)(..)(..)(..)(..)/, - "$1$3$2$7$6$5$4$11$10$9$8" - ); - return formattedId.toLowerCase(); -} -``` - -## Methods - -_methods_ ::= vec(_method_) -_method_ ::= _classCode_ _extraClassCode_ _string_ -_classCode_ ::= _u16_ -_extraClassCode_ ::= _u16_ - -We use `classCode & 0xff` to derive the "class offset" and then discard/ignore `_extraClassCode_. It's possible that this is actually intended to be parsed as a single _u32_ and we just did something wrong. - -The "class offset" is an offset into the _classes_ vector and indicates to which class this method belongs. - -The final _string_ is the name of this method. - -## Variables - -_variables_ ::= vec(_variable_) -_variable_ ::= _typeOffset_ _object_ _subclass_ _uint1_ _uint2_ _uint3_ _uint4_ _global_ _system_ -_typeOffset_ ::= **byte** -_object_ ::= **byte** -_subclass_ ::= _u16_ -_uint1_ ::= _u16_ -_uint2_ ::= _u16_ -_uint3_ ::= _u16_ -_uint4_ ::= _u16_ -_global_ ::= **byte** -_system_ ::= **byte** - -Each variable declared here is an entry in our variables table. There are three different types of variables: subclasses, objects, and primitives. - -Our interpretation of _variables_ is a bit squirrely but does seem to work according to our tests. Our method of determining which type we have seems suspect and there are number of bytes which go completely ignored. - -### Subclass - -If _subclass_ is truthy, this variable is a subclass and _typeOffset_ represents an earlier offset into _variables_ which is this variables superclass. - -_global_ indicates if this variable is global. - -In the subclass case all other values are ignored. - -### Object - -If _object_ is truthy, this variable is an object and _typeOffset_ is an offset into the _classes_ vector which is this variables type. - -_global_ indicates if this variable is global. - -In the object case all other values are ignored. - -### Primitives - -If a variable is neithe a subclass nor an object, it is a primitive. _typeOffset_ determines which type of primitive it is. There are at least five types of primitives: - -- Int (2) -- Float (3) -- Double (4) -- Boolean (5) -- String (6) - -The fact that index 0 and 1 are not used is confusing, but in our testing we did not discover any `.maki` files that referenced them. - -If _typeOffset_ is **2** this variable is an Int and its value can be found in _uint1_. - -If _typeOffset_ is **3** this variable is a Float. We use the following function to derive the floating value from _uint1_ and _uint2_: - -```JavaScript -function decodeFloat(uint1, unint2) { - const exponent = (uint2 & 0xff80) >> 7; - const mantisse = ((0x80 | (uint2 & 0x7f)) << 16) | uint1; - return mantisse * 2.0 ** (exponent - 0x96); -} -``` - -If _typeOffset_ is **4** this variable is a Double. We currently derive the value exactly the same as we do for floats. This is likely wrong. Probably we should also be looking at _uint3_ and _uint4_. - -If _typeOffset_ is **5** this variable is a Boolean and its value can be found in _uint1_. - -If _typeOffset_ is **6** this variable is a String. The actual string will be found in the _constants_ section which will reference this variable via its offset in the _variables_ vector. - -## Constants - -_constants_ ::= vec(_constant_) -_constant_ ::= _variableOffset_ _string_ -_variableOffset_ ::= _u32_ - -String constants are encoded in this section. _variableOffset_ is the offset into the _variables_ vector that is a string and has this string as its initial value. - -_string_ is the actual value. - -## Bindings - -_bindings_ ::= vec(_binding_) -_binding_ ::= _variableOffset_ _methodOffset_ _binaryOffset_ -_methodOffset_ ::= _u32_ -_binaryOffset_ ::= _u32_ - -MAKI allows you to define behavior for events on an instance of an object. These are represented as _bindings_ in the byte code. - -_variableOffset_ is an offset into the _variables_ vector. It indicates the instance to which this binding is attached. - -_methodOffset_ is an offset into the _methods_ vector and indicates the method on object instance that will be called. - -_binaryOffset_ is the byte offset into the _codes_ section where the opcodes for this method begin. - -## Code - -_codes_ ::= _codeLength_ _code_ -_codeLength_ ::= _u32_ - -_codeLength_ indicates the byte size of _code_. - -_code_ is made up of a stream of opcodes, some of which include an "immediate" values. For the opcodes that do include an immediate, the immediate is encoded as a _u32_. See the Opcodes table below for a list of opcodes and their behavior. - -There are a few small quirks to reading _code_ which I _beleive_ have to do with stack protection, but I honestly don't understand them. - -After we parse each opcode, we must peek at the next _u32_. If it's `>= 0xffff0000` and `<= 0xffff000f`, then we must consume that _u32_ and throw it away. - -After parsing opcode `112` we must consume and throw away a single **byte**. I don't know why or what that byte might contain. - -## Opcodes - -Opcodes may or may not have an associated immediate value. If it does, there are a number of different types: - -- var: Offset into the _variables_ vector -- inst: Relative instruction pointer (ip) value -- method: Offset into the _methods_ vector -- class: Offset into the _classes_ vector - -| Opcode | Name | Immediate | Behavior | -| ------ | ----------- | --------- | ------------------------------------------------------------------------------ | -| 1 | push | var | Pushes variable onto the stack | -| 2 | pop | | Pops a variable off the stack and discards it | -| 3 | popTo | var | Pops a variable off the stack stores it into var | -| 8 | eq | | Pops a and b. Leaves a == b on the stack | -| 9 | neq | | Pops a and b. Leaves a != b on the stack | -| 10 | gt | | Pops a and b. Leaves a > b on the stack | -| 11 | gte | | Pops a and b. Leaves a >= b on the stack | -| 12 | lt | | Pops a and b. Leaves a < b on the stack | -| 13 | lte | | Pops a and b. Leaves a <= b on the stack | -| 16 | jumpIf | inst | Pops a value and jumps to inst if it is _false_ | -| 17 | jumpIfNot | inst | Pops a value and jumps to inst if it is _true_ | -| 18 | jump | inst | Jumps to inst | -| 24 | call | method | Pops off a value for each arg and one for the object | -| 112 | strangeCall | method | Same as above? Not sure why this is different. | -| 25 | callGlobal | inst | Jump to inst and execute until return, leaves returned value on the stack | -| 33 | return | | Pops value off stack and returns it to caller | -| 40 | complete | | ? | -| 48 | mov | | Pops a and b, and assigns variable b the value of a. Leaves value on the stack | -| 56 | postinc | | Pops a variable, increments it, and pushes original value back on the stack | -| 57 | postdec | | Pops a variable, decrements it, and pushes original value back on the stack | -| 58 | preinc | | Pops a variable, increments it, and pushes new value back on the stack | -| 59 | postinc | | Pops a variable, decrements it, and pushes new value back on the stack | -| 64 | add | | Pops a and b. Leaves a + b on the stack | -| 65 | sub | | Pops a and b. Leaves a - b on the stack | -| 66 | mul | | Pops a and b. Leaves a \* b on the stack | -| 67 | div | | Pops a and b. Leaves a / b on the stack | -| 68 | mod | | Pops a and b. Leaves a % b on the stack | -| 72 | band | | Pops a and b. Leaves a & b on the stack | -| 73 | bor | | Pops a and b. Leaves a \| b on the stack | -| 74 | not | | Pops a. Leaves !a | -| 76 | neg | | Pops a. Leaves -a | -| 80 | land | | Pops a and b. Leaves a && b | -| 81 | lor | | Pops a and b. Leaves a \|\| b | -| 88 | shiftl | | Pops a and b. Leaves a << b | -| 89 | shiftr | | Pops a and b. Leaves a >> b | -| 96 | new | class | Constructs a new instance of class and leaves it on the stack | -| 97 | delete | | Pops variable off the stack and deletes it | - -## TODO - -- Document int8 production rule -- Document u16 production rule -- Document u32 production rule -- Can we get a sample of what _extraVersion_ contains? -- What are the four 32s of an _identifier_? -- Could _extraClassCode_ actually be the second half of _classCode_? -- What happens if we try to encode an int larger than uint16? Do we spill over into uint2? -- What happens if we try to encode a negative int? -- What happens if we try to encode a high precision float? Does it spill over into uint3 or uint4? -- Are we really limited to 255 classes/superclasses. Can we test these cases? It seems like _typeOffset_ is just a byte so we fail if we had more. -- Do we know what _sytem_ means? -- Can we express variables using explicit productions? -- Does _subclass_ have an interesting value when it's true? -- Does _object_ have an interesting value when it's true? -- What is the byte the follows a strangecall? diff --git a/packages/webamp-modern/package.json b/packages/webamp-modern/package.json index 6d2f7caf..658996ea 100644 --- a/packages/webamp-modern/package.json +++ b/packages/webamp-modern/package.json @@ -1,130 +1,34 @@ { "name": "webamp-modern", - "version": "0.0.0", - "description": "Winamp Modern Skins in the browser", - "scripts": { - "lint-fix": "eslint . --ext ts,tsx,js --fix", - "lint": "eslint . --ext ts,tsx,js --rulesdir=eslint", - "type-check": "tsc", - "serve": "http-server ./built", - "start": "webpack-dev-server --open --config=config/webpack.dev.js", - "format": "prettier --write \"**/*.{js,ts,tsx,d.ts,css}\"", - "analyze-wals": "babel-node --extensions=\".ts,.js,.tsx\" src/maki-interpreter/tools/extract-functions.js > resources/maki-skin-data.json", - "extract-object-types": "babel-node --extensions=\".ts,.js,.tsx\" src/maki-interpreter/tools/extract-object-types.js", - "extract-attributes": "babel-node --extensions=\".ts,.js,.tsx\" src/maki-interpreter/tools/extract-attributes.js > resources/attribute-skin-data.json", - "maki-interfaces": "babel-node --extensions=\".ts,.js,.tsx\" src/maki-interpreter/tools/build-typescript-interfaces.js > __generated__/makiInterfaces.ts" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/captbaritone/webamp.git" - }, - "keywords": [ - "Winamp", - "HTML5", - "audio", - "web-audio-api" - ], - "author": "Jordan Eldredge ", + "version": "1.0.0", + "main": "index.js", "license": "MIT", - "bugs": { - "url": "https://github.com/captbaritone/webamp/issues" + "scripts": { + "start": "snowpack dev", + "build": "snowpack build", + "serve": "http-server ./built", + "lint": "yarn build-lint && eslint . --ext .js,.jsx,.ts,.tsx", + "test": "yarn jest", + "extract-object-types": "node tools/extract-object-types.js", + "extract-attributes": "babel-node --extensions=\".ts,.js,.tsx\" src/maki-interpreter/tools/extract-attributes.js > resources/attribute-skin-data.json", + "maki-interfaces": "babel-node --extensions=\".ts,.js,.tsx\" src/maki-interpreter/tools/build-typescript-interfaces.js > __generated__/makiInterfaces.ts", + "analyze-wals": "babel-node --extensions=\".ts,.js,.tsx\" src/maki-interpreter/tools/extract-functions.js > resources/maki-skin-data.json", + "build-lint": "tsup tools/eslint-rules/proper-maki-types.ts -d tools/eslint-rules/dist --no-splitting --minify" }, - "homepage": "https://github.com/captbaritone/webamp/", "devDependencies": { - "@babel/core": "^7.7.2", - "@babel/node": "^7.0.0", - "@babel/plugin-proposal-class-properties": "^7.0.0", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.4.4", - "@babel/plugin-proposal-object-rest-spread": "^7.0.0", - "@babel/plugin-proposal-optional-chaining": "^7.6.0", - "@babel/plugin-syntax-dynamic-import": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.0.0", - "@babel/plugin-transform-runtime": "^7.0.0", - "@babel/polyfill": "^7.7.0", - "@babel/preset-env": "^7.7.1", - "@babel/preset-react": "^7.7.0", - "@babel/preset-typescript": "^7.7.2", - "@babel/runtime": "^7.7.2", - "@sentry/browser": "5.9.1", - "@types/classnames": "^2.2.6", - "@types/css-font-loading-module": "^0.0.2", - "@types/fscreen": "^1.0.1", - "@types/invariant": "^2.2.29", - "@types/jszip": "^3.1.5", - "@types/lodash": "^4.14.116", - "@types/lodash-es": "^4.17.1", - "@types/rc-slider": "^8.6.3", - "@types/react": "^16.8.13", - "@types/react-dom": "^16.8.4", - "@types/react-redux": "^7.1.1", - "@types/webaudioapi": "^0.0.27", - "@typescript-eslint/eslint-plugin": "^2.6.1", - "@typescript-eslint/parser": "^2.7.0", - "babel-core": "7.0.0-bridge.0", - "babel-eslint": "^9.0.0-beta.3", - "babel-loader": "^8.0.4", - "butterchurn": "^2.6.7", - "canvas-mock": "0.0.0", - "classnames": "^2.2.5", - "copy-webpack-plugin": "^4.6.0", - "css-loader": "^1.0.1", - "cssnano": "^4.1.10", - "data-uri-to-buffer": "^2.0.0", - "eslint": "^6.5.1", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-react": "^7.16.0", - "file-loader": "^2.0.0", - "git-revision-webpack-plugin": "^3.0.3", - "glob": "^7.1.4", - "html-webpack-inline-svg-plugin": "^1.2.4", - "html-webpack-plugin": "^3.2.0", - "http-server": "^0.11.1", - "imagemin": "^6.1.0", - "imagemin-optipng": "^6.0.0", - "invariant": "^2.2.3", - "jszip": "^3.1.3", - "lodash": "^4.17.21", - "milkdrop-preset-converter-aws": "^0.1.6", - "music-metadata-browser": "^0.6.1", - "postcss": "^8.2.10", - "postcss-loader": "^3.0.0", - "puppeteer": "^1.15.0", - "rc-slider": "^8.7.1", - "react-redux": "^7.1.0", - "react-test-renderer": "^16.8.1", - "redux": "^4.0.1", - "redux-devtools-extension": "^2.13.2", - "redux-thunk": "^2.3.0", - "reselect": "^3.0.1", - "screenfull": "^4.0.0", - "style-loader": "^0.23.1", - "tinyqueue": "^1.2.3", - "typescript": "^3.7.2", - "url-loader": "^1.1.2", - "webpack": "^4.41.2", - "webpack-bundle-analyzer": "^3.3.2", - "webpack-cli": "^3.1.2", - "webpack-dev-server": "^3.8.2", - "webpack-merge": "^4.1.2", - "winamp-eqf": "^1.0.0" - }, - "jest": { - "globalSetup": "jest-environment-puppeteer/setup", - "globalTeardown": "jest-environment-puppeteer/teardown", - "projects": [ - "config/jest.*.js" - ] - }, - "prettier": { - "trailingComma": "es5" + "@types/eslint": "^7.2.14", + "@types/estree": "^0.0.50", + "@typescript-eslint/eslint-plugin": "^4.28.2", + "@typescript-eslint/parser": "^4.28.2", + "eslint": "^7.30.0", + "eslint-plugin-rulesdir": "^0.2.0", + "snowpack": "^3.5.5", + "tsup": "^4.12.5", + "typescript": "^4.3.5" }, + "prettier": {}, "dependencies": { - "eslint-plugin-react-hooks": "^2.1.2", - "fscreen": "^1.0.2", - "react": "^17.0.1", - "react-dom": "^17.0.1", - "react-dropzone": "^10.1.7", - "redux-sentry-middleware": "^0.1.3", - "xml-js": "^1.6.11" + "@rgrove/parse-xml": "^3.0.0", + "jszip": "^3.6.0" } } diff --git a/packages/webamp-modern/skins/CornerAmp_Redux.wal b/packages/webamp-modern/skins/CornerAmp_Redux.wal deleted file mode 100644 index 7b7f2166740e5d3392d27aa4363760ff68ebe4c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 354604 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�YzwlIv*5xgP?o5PaNXv} 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¹{4n)2BDM12ClZ((?z$Z0>T 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

Loading...

; -} - -function Modern() { - const dispatch = useDispatch(); - const store = useStore(); - const root = useSelector(Selectors.getMakiTree); - const [skinUrl, setSkinUrl] = React.useState(null); - React.useEffect(() => { - const defaultSkinUrl = getSkinUrlFromQueryParams() || skinUrls[0]; - setSkinUrl(defaultSkinUrl); - dispatch(Actions.gotSkinUrl(defaultSkinUrl, store)); - }, [store, dispatch]); - if (root == null) { - return ; - } - return ( -
- { - dispatch(Actions.gotSkinBlob(e.dataTransfer.files[0], store)); - }} - > - - - -
- ); -} -function App() { - return ( - }> - {window.location.pathname.includes("ready") ? : } - - ); -} - -export default App; diff --git a/packages/webamp-modern/src/Dashboard.js b/packages/webamp-modern/src/Dashboard.js deleted file mode 100644 index 255cd9de..00000000 --- a/packages/webamp-modern/src/Dashboard.js +++ /dev/null @@ -1,178 +0,0 @@ -import React from "react"; -import { objects } from "./maki-interpreter/objects"; -import snapshotString from "./__tests__/__snapshots__/objects.test.js.snap"; -import methodData from "../resources/maki-skin-data.json"; - -const methodsSting = - snapshotString["Maki classes Track unimplemented methods 1"]; - -const unimplemented = new Set( - methodsSting.substring(1, methodsSting.length - 2).split("\n") -); - -const GREEN = "rgba(0, 255, 0, 0.2)"; -const RED = "rgba(255, 0, 0, 0.2)"; - -let METHOD_COUNT = 0; -let IMPLEMENTED_METHOD_COUNT = 0; - -const normalizedMethods = []; -Object.keys(objects).forEach((key) => { - const makiObject = objects[key]; - makiObject.functions.forEach((method) => { - METHOD_COUNT++; - const normalizedName = `${makiObject.name}.${method.name.toLowerCase()}`; - const implemented = !unimplemented.has(normalizedName); - if (implemented) { - IMPLEMENTED_METHOD_COUNT++; - } - const foundInSkins = methodData.foundInSkins[normalizedName] || 0; - const totalCalls = methodData.totalCalls[normalizedName] || 0; - normalizedMethods.push({ - className: makiObject.name, - totalCalls, - foundInSkins, - methodName: method.name, - normalizedName, - implemented, - }); - }); -}); - -const foundMethods = normalizedMethods.filter( - (method) => method.foundInSkins > 0 -); - -function PercentBox({ number, total, label }) { - const percent = total === 0 ? 1 : number / total; - - return ( -
-
- {Math.round(percent * 100)}% -
-
-
- - {label} - {" "} - - ({number}/{total}) - -
-
- ); -} - -export default function () { - const [searchQuery, setSearchQuery] = React.useState(""); - const [sortKey, setSortKey] = React.useState("totalCalls"); - const [sortDirection, setSortDirection] = React.useState("ASC"); - function setOrToggleSort(key) { - if (sortKey === key) { - setSortDirection((dir) => (dir === "ASC" ? "DESC" : "ASC")); - } else { - setSortKey(key); - } - } - - const sortAscending = (a, b) => (b[sortKey] > a[sortKey] ? 1 : -1); - const sortDecending = (a, b) => (b[sortKey] < a[sortKey] ? 1 : -1); - const sortFunction = sortDirection === "ASC" ? sortAscending : sortDecending; - - let filterFunction = () => true; - if (searchQuery) { - const normalizedQuery = searchQuery.toLowerCase(); - - filterFunction = (method) => { - return method.normalizedName.toLowerCase().includes(normalizedQuery); - }; - } - return ( -
-

Are Modern Skins Ready Yet?

- - method.implemented).length} - total={foundMethods.length} - label="Used Methods" - /> - setSearchQuery(e.target.value)} - /> - - - - - - - - - - - - {normalizedMethods - .sort(sortFunction) - .filter(filterFunction) - .map( - ({ - className, - methodName, - foundInSkins, - totalCalls, - implemented, - }) => { - return ( - - - - - - - - ); - } - )} - -
setOrToggleSort("implemented")}>Status setOrToggleSort("className")}>Class setOrToggleSort("methodName")}>Method Name setOrToggleSort("foundInSkins")}> - Found In Skins - setOrToggleSort("totalCalls")}>Total Calls
- - {className}{methodName}{foundInSkins}{totalCalls}
-
- ); -} diff --git a/packages/webamp-modern/src/Emitter.ts b/packages/webamp-modern/src/Emitter.ts deleted file mode 100644 index 49f29431..00000000 --- a/packages/webamp-modern/src/Emitter.ts +++ /dev/null @@ -1,43 +0,0 @@ -// TODO: Merge with the Webamp emitter -export default class Emitter { - _hooks: { [eventName: string]: Array<(...args: any[]) => void> }; - _globalHooks: Array<(eventName: string, ...args: any[]) => void>; - constructor() { - this._hooks = {}; - // TODO: Rename this property - this._globalHooks = []; - } - - listen(eventName: string, cb: (...args: any[]) => void) { - if (this._hooks[eventName] == null) { - this._hooks[eventName] = []; - } - this._hooks[eventName].push(cb); - return () => { - this._hooks[eventName] = this._hooks[eventName].filter( - (hookCb) => hookCb !== cb - ); - }; - } - - trigger(eventName: string, ...args: any[]) { - this._globalHooks.map((cb) => cb(eventName, ...args)); - if (this._hooks[eventName] == null) { - return; - } - this._hooks[eventName].map((cb) => cb(...args)); - } - - listenToAll(cb: (eventName: string, ...args: any[]) => void) { - this._globalHooks.push(cb); - return () => { - this._globalHooks = this._globalHooks.filter((hookCb) => hookCb !== cb); - }; - } - - dispose() { - // Note: This will cause any future trigger or hook to cause a runtime error. - this._hooks = {}; - this._globalHooks = []; - } -} diff --git a/packages/webamp-modern/src/MakiRenderer.js b/packages/webamp-modern/src/MakiRenderer.js deleted file mode 100644 index 22f531e2..00000000 --- a/packages/webamp-modern/src/MakiRenderer.js +++ /dev/null @@ -1,585 +0,0 @@ -import React, { useEffect, useReducer } from "react"; -import "./App.css"; -import * as Utils from "./utils"; - -function useJsUpdates(makiObject) { - const [, forceUpdate] = useReducer((x) => x + 1, 0); - useEffect(() => makiObject.js_listen("js_update", forceUpdate)); -} - -function handleMouseEventDispatch(makiObject, event, eventName) { - event.stopPropagation(); - - // In order to properly calculate the x/y coordinates like MAKI does we need - // to find the container element and calculate based off of that - const container = Utils.findParentOrCurrentNodeOfType( - makiObject, - new Set(["container"]) - ); - const clientX = event.clientX; - const clientY = event.clientY; - const x = clientX - (Number(container.attributes.x) || 0); - const y = clientY - (Number(container.attributes.y) || 0); - makiObject.js_trigger(eventName, x, y); - - if (event.nativeEvent.type === "mousedown") { - // We need to persist the react event so we can access the target - event.persist(); - document.addEventListener("mouseup", function globalMouseUp(ev) { - document.removeEventListener("mouseup", globalMouseUp); - // Create an object that looks and acts like an event, but has mixed - // properties from original mousedown event and new mouseup event - const fakeEvent = { - target: event.target, - clientX: ev.clientX, - clientY: ev.clientY, - nativeEvent: { - type: "mouseup", - }, - stopPropagation: ev.stopPropagation.bind(ev), - }; - handleMouseEventDispatch( - makiObject, - fakeEvent, - eventName === "onLeftButtonDown" ? "onLeftButtonUp" : "onRightButtonUp" - ); - }); - } -} - -function handleMouseButtonEventDispatch( - makiObject, - event, - leftEventName, - rightEventName -) { - handleMouseEventDispatch( - makiObject, - event, - event.button === 2 ? rightEventName : leftEventName - ); -} - -function GuiObjectEvents({ makiObject, children }) { - const { alpha, ghost } = makiObject.attributes; - if (!makiObject.isvisible()) { - return null; - } - - return ( -
- handleMouseButtonEventDispatch( - makiObject, - e, - "onLeftButtonDown", - "onRightButtonDown" - ) - } - onDoubleClick={(e) => - handleMouseButtonEventDispatch( - makiObject, - e, - "onLeftButtonDblClk", - "onRightButtonDblClk" - ) - } - onMouseMove={(e) => - handleMouseEventDispatch(makiObject, e, "onMouseMove") - } - onMouseEnter={(e) => - handleMouseEventDispatch(makiObject, e, "onEnterArea") - } - onMouseLeave={(e) => - handleMouseEventDispatch(makiObject, e, "onLeaveArea") - } - onDragEnter={() => makiObject.js_trigger("onDragEnter")} - onDragLeave={() => makiObject.js_trigger("onDragLeave")} - onDragOver={(e) => handleMouseEventDispatch(makiObject, e, "onDragOver")} - onKeyUp={(e) => makiObject.js_trigger("onKeyUp", e.keyCode)} - onKeyDown={(e) => makiObject.js_trigger("onKeyDown", e.keyCode)} - onContextMenu={(e) => { - e.preventDefault(); - return false; - }} - style={{ - opacity: alpha == null ? 1 : alpha / 255, - pointerEvents: ghost ? "none" : null, - }} - > - {children} -
- ); -} - -function Container({ makiObject }) { - const { id, default_x, default_y, default_visible } = makiObject.attributes; - - const style = { - position: "absolute", - }; - if (default_x !== undefined) { - style.left = Number(default_x); - } - if (default_y !== undefined) { - style.top = Number(default_y); - } - if (default_visible !== undefined) { - style.display = default_visible ? "block" : "none"; - } - - const layout = makiObject.getcurlayout(); - if (layout == null) { - return null; - } - - return ( -
- -
- ); -} - -function Layout({ makiObject }) { - const { - id, - js_assets, - background, - // desktopalpha, - drawBackground, - x, - y, - w, - h, - minimum_h, - maximum_h, - minimum_w, - maximum_w, - // droptarget, - } = makiObject.attributes; - if (drawBackground && background == null) { - console.warn("Got a Layout without a background. Rendering null", id); - return null; - } - - if (drawBackground) { - const image = js_assets.background; - if (image == null) { - console.warn( - "Unable to find image to render. Rendering null", - background - ); - return null; - } - - return ( - -
- -
-
- ); - } - - const params = {}; - if (x !== undefined) { - params.left = Number(x); - } - if (y !== undefined) { - params.top = Number(y); - } - if (w !== undefined) { - params.width = Number(w); - params.overflow = "hidden"; - } - if (h !== undefined) { - params.height = Number(h); - params.overflow = "hidden"; - } - - return ( - -
- -
-
- ); -} - -function Layer({ makiObject }) { - const { id, js_assets, image, x, y, w, h } = makiObject.attributes; - if (image == null) { - console.warn("Got an Layer without an image. Rendering null", id); - return null; - } - const img = js_assets.image; - if (img == null) { - console.warn("Unable to find image to render. Rendering null", image); - return null; - } - const params = {}; - if (x !== undefined) { - params.left = Number(x); - } - if (y !== undefined) { - params.top = Number(y); - } - if (img.x !== undefined) { - params.backgroundPositionX = -Number(img.x); - } - if (img.y !== undefined) { - params.backgroundPositionY = -Number(img.y); - } - if (w !== undefined) { - params.width = Number(w); - } else if (img.w !== undefined) { - params.width = Number(img.w); - } - if (h !== undefined) { - params.height = Number(h); - } else if (img.h !== undefined) { - params.height = Number(img.h); - } - if (img.imgUrl !== undefined) { - params.backgroundImage = `url(${img.imgUrl}`; - } - return ( - -
- -
-
- ); -} - -function animatedLayerOffsetAndSize( - frameNum, - frameSize, - layerSize, - imgSize, - imgOffset -) { - let size, offset; - if (frameSize !== undefined) { - size = Number(frameSize); - offset = -Number(frameSize) * frameNum; - } else if (layerSize !== undefined) { - size = Number(layerSize); - offset = -Number(layerSize) * frameNum; - } else { - if (imgSize !== undefined) { - size = Number(imgSize); - } - if (imgOffset !== undefined) { - offset = -Number(imgOffset); - } - } - return { offset, size }; -} - -function AnimatedLayer({ makiObject }) { - const { id, js_assets, x, y, w, h, framewidth, frameheight } = - makiObject.attributes; - const img = js_assets.image; - if (img == null) { - console.warn("Got an AnimatedLayer without an image. Rendering null", id); - return null; - } - - const frameNum = makiObject.getcurframe(); - - let style = {}; - if (x !== undefined) { - style.left = Number(x); - } - if (y !== undefined) { - style.top = Number(y); - } - - const { offset: backgroundPositionX, size: width } = - animatedLayerOffsetAndSize(frameNum, framewidth, w, img.w, img.x); - const { offset: backgroundPositionY, size: height } = - animatedLayerOffsetAndSize(frameNum, frameheight, h, img.h, img.y); - style = { ...style, width, height, backgroundPositionX, backgroundPositionY }; - - if (img.imgUrl !== undefined) { - style.backgroundImage = `url(${img.imgUrl}`; - } - - return ( - -
- -
-
- ); -} - -function Button({ makiObject }) { - const { - id, - js_assets, - // image, - // action, - x, - y, - downImage, - tooltip, - ghost, - } = makiObject.attributes; - const [down, setDown] = React.useState(false); - // TODO: These seem to be switching too fast - const img = down && downImage ? js_assets.downimage : js_assets.image; - if (img == null) { - console.warn("Got a Button without a img. Rendering null", id); - return null; - } - - return ( - -
{ - setDown(true); - document.addEventListener("mouseup", () => { - // TODO: This could be unmounted - setDown(false); - }); - }} - onClick={(e) => { - if (e.button === 2) { - makiObject.js_trigger("onRightClick"); - } else { - makiObject.js_trigger("onLeftClick"); - } - }} - title={tooltip} - style={{ - position: "absolute", - top: Number(y), - left: Number(x), - backgroundPositionX: -Number(img.x), - backgroundPositionY: -Number(img.y), - width: Number(img.w), - height: Number(img.h), - backgroundImage: `url(${img.imgUrl})`, - pointerEvents: ghost ? "none" : null, - }} - > - -
-
- ); -} - -function Popupmenu({ makiObject }) { - const { id, x, y } = makiObject.attributes; - - const children = makiObject.js_getCommands().map((item) => { - if (item.id === "seperator") { - return
  • ; - } - return ( -
  • { - makiObject.js_selectCommand(item.id); - }} - > - {item.name} -
  • - ); - }); - // TODO: Actually properly style element - return ( -
    -
      {children}
    -
    - ); -} - -function ToggleButton({ makiObject }) { - return

    LBD#~l)bE>HXcem}(A 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%0A(g$} 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∓H9RMYYMvxZ{Bgo`T~L`d!f6 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 UhG{T?0skhz6S}+;xcfu@0}E_tXaE2J diff --git a/packages/webamp-modern/skins/simple.wal b/packages/webamp-modern/skins/simple.wal deleted file mode 100644 index bf85b87bb9a2abd769ab5f6a0bbe8435d6464c75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47349 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 yM|^Fp{Fm|1+3THh$kPN)?C diff --git a/packages/webamp-modern-2/snowpack.config.js b/packages/webamp-modern/snowpack.config.js similarity index 100% rename from packages/webamp-modern-2/snowpack.config.js rename to packages/webamp-modern/snowpack.config.js diff --git a/packages/webamp-modern/src/Actions.ts b/packages/webamp-modern/src/Actions.ts deleted file mode 100644 index d26b4e4e..00000000 --- a/packages/webamp-modern/src/Actions.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { - MakiTree, - ModernAction, - ModernStore, - XmlTree, - XmlNode, - Thunk, -} from "./types"; -import JSZip from "jszip"; -import * as Utils from "./utils"; -import initialize from "./initialize"; -import initializeStateTree from "./initializeStateTree"; -import { run } from "./maki-interpreter/virtualMachine"; -import System from "./runtime/System"; -import runtime from "./runtime"; -import MakiObject from "./runtime/MakiObject"; -import JsScript from "./runtime/JsScript"; - -export function setMakiTree(makiTree: MakiTree): ModernAction { - return { type: "SET_MAKI_TREE", makiTree }; -} - -export function setXmlTree(xmlTree: XmlTree): Thunk { - return async (dispatch) => { - dispatch({ - type: "SET_XML_TREE", - xmlTree: await initializeStateTree(xmlTree), - }); - }; -} - -export function gotSkinUrl(skinUrl: string, store: ModernStore): Thunk { - return async (dispatch) => { - const resp = await fetch(skinUrl); - dispatch(gotSkinBlob(await resp.blob(), store)); - }; -} - -export function gotSkinBlob(blob: Blob, store: ModernStore): Thunk { - return async (dispatch) => { - dispatch(gotSkinZip(await JSZip.loadAsync(blob), store)); - }; -} - -async function unloadSkin(makiTree: MakiTree): Promise { - await Utils.asyncTreeFlatMap(makiTree, async (node: MakiObject) => { - if (node instanceof JsScript && node.system) { - node.system.onscriptunloading(); - } - - return node; - }); -} - -export function gotSkinZip(zip: JSZip, store: ModernStore): Thunk { - return async (dispatch) => { - // unload current skin if one has been loaded - if (store.getState().modernSkin.skinLoaded) { - await unloadSkin(store.getState().modernSkin.makiTree); - dispatch({ type: "SKIN_UNLOADED" }); - } - - const skinXml = await Utils.readXml(zip, "skin.xml"); - if (skinXml == null) { - throw new Error("Could not find skin.xml in skin"); - } - const rawXmlTree = await Utils.inlineIncludes(skinXml, zip); - const xmlTree = Utils.mapTreeBreadth( - rawXmlTree, - (node: XmlNode, parent: XmlNode) => { - return { ...node, uid: Utils.getId(), parent }; - } - ); - - dispatch(setXmlTree(xmlTree)); - - const makiTree: MakiObject = await initialize(zip, xmlTree); - // Execute scripts - await Utils.asyncTreeFlatMap(makiTree, async (node: MakiObject) => { - if (!(node instanceof JsScript)) { - return node; - } - const scriptPath = node.getScriptPath(); - if (scriptPath == null) { - return node; - } - if (scriptPath.endsWith("standardframe.maki")) { - // TODO: stop ignoring standardframe - return node; - } - - // removes groupdefs from consideration (only run scripts when actually referenced by group) - if (Utils.findParentNodeOfType(node, new Set(["groupdef"]))) { - return node; - } - const scriptGroup = Utils.findParentNodeOfType( - node, - new Set(["group", "winampabstractionlayer", "wasabixml"]) - ); - node.system = new System(scriptGroup, store); - const script = await Utils.readUint8array(zip, scriptPath); - if (script == null) { - console.warn(`Unable to find script at ${scriptPath}`); - return node; - } - run({ - runtime, - data: script, - system: node.system, - log: false, - }); - return node; - }); - - dispatch(setMakiTree(makiTree)); - }; -} - -export function setVolume(volume: number): ModernAction { - return { type: "SET_VOLUME", volume }; -} diff --git a/packages/webamp-modern/src/App.css b/packages/webamp-modern/src/App.css deleted file mode 100644 index 827b8978..00000000 --- a/packages/webamp-modern/src/App.css +++ /dev/null @@ -1,3 +0,0 @@ -#root { - image-rendering: pixelated; -} diff --git a/packages/webamp-modern/src/App.js b/packages/webamp-modern/src/App.js deleted file mode 100644 index 84cf8307..00000000 --- a/packages/webamp-modern/src/App.js +++ /dev/null @@ -1,128 +0,0 @@ -import React, { Suspense } from "react"; -import "./App.css"; -import * as Actions from "./Actions"; -import * as Selectors from "./Selectors"; -// import simpleSkin from "../skins/simple.wal"; -import cornerSkin from "../skins/CornerAmp_Redux.wal"; -import { useDispatch, useSelector, useStore } from "react-redux"; -import DropTarget from "./components/DropTarget"; -import { Maki } from "./MakiRenderer"; -const Dashboard = React.lazy(() => import("./Dashboard")); - -const skinUrls = [ - cornerSkin, - "https://archive.org/cors/winampskin_MMD3/MMD3.wal", - "https://archive.org/cors/winampskin_The_Official_Ford_Sync_Winamp5_Skin/The_Official_Ford_Sync_Winamp5_Skin.wal", - "https://archive.org/cors/winampskin_Godsmack_Faceless/Godsmack_-_Faceless.wal", - "https://archive.org/cors/winampskin_Tokyo_Drift/Tokyo_Drift.wal", - "https://archive.org/cors/winampskin_Nebular/Nebular.wal", - "https://archive.org/cors/winampskin_Official_Enter_the_Matrix_Skin/Enter_the_Matrix.wal", - "https://archive.org/cors/winampskin_Reel-To-Reel_Machine_Sony_Edition/ReelToReel_Machine__Sony_Edition.wal", - "https://archive.org/cors/winampskin_Casio-G-Shocked-V5/Casio-G-Shocked-V2.wal", - "https://archive.org/cors/winampskin_ZDL_GOLD_STACK/ZDL_GOLD_STACK.wal", - "https://archive.org/cors/winampskin_BLAKK/BLAKK.wal", - "https://archive.org/cors/winampskin_Braun_CC_50/Braun_CC_50.wal", - "https://archive.org/cors/winampskin_Walk_Hard_Winamp5_Skin/Walk_Hard_Winamp5_Skin.wal", - "https://archive.org/cors/winampskin_Freddy_vs_Jason/Freddy_vs_Jason.wal", - "https://archive.org/cors/winampskin_The_Official_Grind_Winamp_3_Skin/The_Official_Grind_Winamp_3_Skin.wal", - "https://archive.org/cors/winampskin_The_KidsWB_Winamp_3_Skin/The_KidsWB_Winamp_3_Skin.wal", - "https://archive.org/cors/winampskin_Sailor_Moon_Modern_version_1/Sailor_Moon_Modern_version_1.wal", - "https://archive.org/cors/winampskin_Dr_Who_--_Monsters_and_Villains/Dr_Who_--_Monsters_and_Villains.wal", - "https://archive.org/cors/winampskin_Official_Linkin_Park_Skin/Official_Linkin_Park_Skin.wal", - "https://archive.org/cors/winampskin_Resin/Resin.wal", - "https://archive.org/cors/winampskin_PAD/PAD.wal", - "https://archive.org/cors/winampskin_MIPOD/MIPOD.wal", - "https://archive.org/cors/winampskin_Ebonite_2.0/Ebonite_2_1.wal", - "https://archive.org/cors/winampskin_Drone_v1dot1/Drone_v1.wal", - "https://archive.org/cors/winampskin_Hoop_Life_Modern/Hoop_Life_WA3_version.wal", - "https://archive.org/cors/winampskin_Austin_Powers_Goldmember_Skin/Official_Austin_Powers_3_Skin.wal", - "https://archive.org/cors/winampskin_Coca_Cola_My_Coke_Music/Coca_Cola__My_Coke_Music.wal", - "https://archive.org/cors/winampskin_Barracuda_Winamp/Barracuda_Winamp.wal", - "https://archive.org/cors/winampskin_Nike_total_90_aerow/Nike_total_90_aerow.wal", - "https://archive.org/cors/winampskin_Metallica_Metallica/Metallica_Metallica.wal", - "https://archive.org/cors/winampskin_Epsilux/Epsilux.wal", - "https://archive.org/cors/winampskin_Official_Witchblade_TV_Series_Skin/Official_Witchblade_TV_Series_Skin.wal", - "https://archive.org/cors/winampskin_ocrana/ocrana.wal", - "https://archive.org/cors/winampskin_Clean_AMP/Clean_AMP.wal", - "https://archive.org/cors/winampskin_Xbox_Amp/Xbox_Amp.wal", - "https://archive.org/cors/winampskin_Lapis_Lazuli/Lapis_Lazuli.wal", - "https://archive.org/cors/winampskin_The_Punisher_Winamp_5_Skin/The_Punisher_Winamp_5_Skin.wal", - "https://archive.org/cors/winampskin_The_Chronicles_of_Riddick/The_Chronicles_of_Riddick.wal", - "https://archive.org/cors/winampskin_Official_Midnight_Club_2_skin/Official_Midnight_Club_2_skin.wal", - "https://archive.org/cors/winampskin_Official_Torque_Winamp5_Skin/Official_Torque_Winamp5_Skin.wal", - "https://archive.org/cors/winampskin_Official_Mad_Magazine_Skin/Official_Mad_Magazine_Skin.wal", - "https://archive.org/cors/winampskin_PUMA_v1.08_Speed_Boot_Winamp5_Skin/PUMA_v1.08_Speed_Boot_Winamp5_Skin.wal", - "https://archive.org/cors/winampskin_EMP/EMP.wal", - "https://archive.org/cors/winampskin_Devay/Devay.wal", -]; - -function getSkinUrlFromQueryParams() { - const searchParams = new URLSearchParams(window.location.search); - return searchParams.get("skinUrl"); -} - -function setSkinUrlToQueryParams(skinUrl) { - const searchParams = new URLSearchParams(window.location.search); - searchParams.set("skinUrl", skinUrl); - const newRelativePathQuery = `${ - window.location.pathname - }?${searchParams.toString()}`; - window.history.pushState(null, "", newRelativePathQuery); -} - -function Loading() { - return