mirror of
https://github.com/captbaritone/webamp.git
synced 2026-01-23 02:15:01 +00:00
Remove contained example and clarify position requirements
This commit is contained in:
parent
54dbe369d4
commit
2fe3235d51
9 changed files with 7 additions and 121 deletions
24
examples/contained/.gitignore
vendored
24
examples/contained/.gitignore
vendored
|
|
@ -1,24 +0,0 @@
|
||||||
# Logs
|
|
||||||
logs
|
|
||||||
*.log
|
|
||||||
npm-debug.log*
|
|
||||||
yarn-debug.log*
|
|
||||||
yarn-error.log*
|
|
||||||
pnpm-debug.log*
|
|
||||||
lerna-debug.log*
|
|
||||||
|
|
||||||
node_modules
|
|
||||||
dist
|
|
||||||
dist-ssr
|
|
||||||
*.local
|
|
||||||
|
|
||||||
# Editor directories and files
|
|
||||||
.vscode/*
|
|
||||||
!.vscode/extensions.json
|
|
||||||
.idea
|
|
||||||
.DS_Store
|
|
||||||
*.suo
|
|
||||||
*.ntvs*
|
|
||||||
*.njsproj
|
|
||||||
*.sln
|
|
||||||
*.sw?
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
# `webamp/contained` Example
|
|
||||||
|
|
||||||
Example for Webamp fully contained into a DOM element. Uses [Vite](https://vitejs.dev/) for development and bundling.
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>Webamp (contained)</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
<script type="module" src="/src/main.ts"></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"name": "contained",
|
|
||||||
"private": true,
|
|
||||||
"version": "0.0.0",
|
|
||||||
"type": "module",
|
|
||||||
"scripts": {
|
|
||||||
"dev": "vite",
|
|
||||||
"build": "tsc && vite build",
|
|
||||||
"preview": "vite preview"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"typescript": "~5.8.3",
|
|
||||||
"vite": "^7.0.4"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"webamp": "^2.2.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
import Webamp from "../../../packages/webamp/js/webamp";
|
|
||||||
|
|
||||||
const webamp = new Webamp({
|
|
||||||
initialTracks: [
|
|
||||||
{
|
|
||||||
metaData: {
|
|
||||||
artist: "DJ Mike Llama",
|
|
||||||
title: "Llama Whippin' Intro",
|
|
||||||
},
|
|
||||||
// NOTE: Your audio file must be served from the same domain as your HTML
|
|
||||||
// file, or served with permissive CORS HTTP headers:
|
|
||||||
// https://docs.webamp.org/docs/guides/cors
|
|
||||||
url: "https://cdn.jsdelivr.net/gh/captbaritone/webamp@43434d82cfe0e37286dbbe0666072dc3190a83bc/mp3/llama-2.91.mp3",
|
|
||||||
duration: 5.322286,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
windowLayout: {
|
|
||||||
main: { position: { left: 0, top: 0 } },
|
|
||||||
equalizer: { position: { left: 0, top: 116 } },
|
|
||||||
playlist: {
|
|
||||||
position: { left: 0, top: 232 },
|
|
||||||
size: { extraHeight: 4, extraWidth: 0 },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
// Container smaller than body
|
|
||||||
const container = document.getElementById("app");
|
|
||||||
container!.style.position = "absolute";
|
|
||||||
container!.style.left = "20px";
|
|
||||||
container!.style.top = "20px";
|
|
||||||
container!.style.right = "120px";
|
|
||||||
container!.style.bottom = "120px";
|
|
||||||
container!.style.backgroundColor = "lightyellow";
|
|
||||||
|
|
||||||
webamp.renderWhenReady(container!, true);
|
|
||||||
1
examples/contained/src/vite-env.d.ts
vendored
1
examples/contained/src/vite-env.d.ts
vendored
|
|
@ -1 +0,0 @@
|
||||||
/// <reference types="vite/client" />
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"target": "ES2022",
|
|
||||||
"useDefineForClassFields": true,
|
|
||||||
"module": "ESNext",
|
|
||||||
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
||||||
"skipLibCheck": true,
|
|
||||||
|
|
||||||
/* Bundler mode */
|
|
||||||
"moduleResolution": "bundler",
|
|
||||||
"allowImportingTsExtensions": true,
|
|
||||||
"verbatimModuleSyntax": true,
|
|
||||||
"moduleDetection": "force",
|
|
||||||
"noEmit": true,
|
|
||||||
|
|
||||||
/* Linting */
|
|
||||||
"strict": true,
|
|
||||||
"noUnusedLocals": true,
|
|
||||||
"noUnusedParameters": true,
|
|
||||||
"erasableSyntaxOnly": true,
|
|
||||||
"noFallthroughCasesInSwitch": true,
|
|
||||||
"noUncheckedSideEffectImports": true
|
|
||||||
},
|
|
||||||
"include": ["src"]
|
|
||||||
}
|
|
||||||
|
|
@ -13,7 +13,7 @@ Create a DOM element somewhere in your HTML document. This will be used by Webam
|
||||||
:::tip
|
:::tip
|
||||||
**Webamp will not actually insert itself as a child of this element.** It will will insert itself as a child of the body element, and will attempt to center itself within this element. This is needed to allow the various Webamp windows to dragged around the page unencumbered.
|
**Webamp will not actually insert itself as a child of this element.** It will will insert itself as a child of the body element, and will attempt to center itself within this element. This is needed to allow the various Webamp windows to dragged around the page unencumbered.
|
||||||
|
|
||||||
If you want Webamp to be a child of a specific element, use the [`renderInto(domNode)`](./06_API/03_instance-methods.md#renderintodomnode-htmlelement-promisevoid) method instead.
|
If you want Webamp to be a child of a specific element, use the [`renderInto(domNode)`](./06_API/03_instance-methods.md#renderintodomnode-htmlelement-promisevoid) method instead _(available in unreleased version)_. Note that the target element must have a non-static CSS position (e.g., `position: relative`) for this to work correctly.
|
||||||
:::
|
:::
|
||||||
|
|
||||||
## Initialize Webamp instance
|
## Initialize Webamp instance
|
||||||
|
|
|
||||||
|
|
@ -233,8 +233,14 @@ webamp.toggleRepeat();
|
||||||
|
|
||||||
Webamp will wait until it has fetched the skin and fully parsed it, and then render itself as a child of the provided `domNode` and position itself in the center of that DOM node.
|
Webamp will wait until it has fetched the skin and fully parsed it, and then render itself as a child of the provided `domNode` and position itself in the center of that DOM node.
|
||||||
|
|
||||||
|
:::warning
|
||||||
|
**The `domNode` must have a non-static CSS position** (e.g., `position: relative`, `position: absolute`, or `position: fixed`) for Webamp to render correctly within it.
|
||||||
|
:::
|
||||||
|
|
||||||
A promise is returned which will resolve after the render is complete.
|
A promise is returned which will resolve after the render is complete.
|
||||||
|
|
||||||
|
**Since** [Unreleased](../12_changelog.md#unreleased)
|
||||||
|
|
||||||
```ts
|
```ts
|
||||||
const container = document.getElementById("webamp-container");
|
const container = document.getElementById("webamp-container");
|
||||||
webamp.renderWhenReady(container).then(() => {
|
webamp.renderWhenReady(container).then(() => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue