@vestra-player/sdk 1.5.29 → 1.5.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/llms.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  # Vestra Player SDK
2
2
 
3
- > @vestra-player/sdk 1.5.29: write plugins for Vestra Player in TypeScript (plugin API `vestra/1`). A plugin is a folder with `manifest.json` and an entry module whose default export `activate(plugin)` the player calls; it runs in its own Node.js process. Everything a plugin creates (commands, windows, panels, filters, listeners…) is a handle that is released automatically when the plugin stops. L<n> are line numbers in llms-full.txt, next to this file: every page, declaration and example.
3
+ > @vestra-player/sdk 1.5.31: write plugins for Vestra Player in TypeScript (plugin API `vestra/1`). A plugin is a folder with `manifest.json` and an entry module whose default export `activate(plugin)` the player calls; it runs in its own Node.js process. Everything a plugin creates (commands, windows, panels, filters, listeners…) is a handle that is released automatically when the plugin stops. L<n>: a line of llms-full.txt (next to this file), which has every page, declaration and example.
4
4
 
5
5
  **Rules**
6
6
 
@@ -33,7 +33,7 @@ my-plugin/
33
33
  }
34
34
  ```
35
35
 
36
- Fields: `id`, `version`, `apiVersion`, `entry`, `capabilities`, `name`, `author`, `punchline`, `description`, `tags`, `icon`, `readme`, `changelog`, `sourceUrl`, `license`, `minPlayerVersion`; unknown fields and capabilities are rejected. Rules and limits: L2231–2298.
36
+ Fields: `id`, `version`, `apiVersion`, `entry`, `capabilities`, `name`, `author`, `punchline`, `description`, `tags`, `icon`, `readme`, `changelog`, `sourceUrl`, `license`, `minPlayerVersion`; unknown fields and capabilities are rejected. Rules and limits: L2428–2495.
37
37
 
38
38
  **main.ts**
39
39
 
@@ -49,7 +49,7 @@ export default async function activate(plugin: Plugin) {
49
49
  }
50
50
  ```
51
51
 
52
- **Capabilities** (a call without one fails with `capability`)
52
+ **Capabilities** (without one a call fails: `capability`)
53
53
 
54
54
  - `producer.av`: Player.openStream (also `playback.control`)
55
55
  - `playback.read`: Player.state/refresh/stats/chapters/audioDevices, Timeline.marks
@@ -76,9 +76,9 @@ export default async function activate(plugin: Plugin) {
76
76
  - `ui.settings`: Settings.page/show
77
77
  - `ui.theme`: Appearance.set/setLanguage
78
78
  - `secrets`: Secrets.get/set/delete
79
- - No capability: `tools`, `storage`, `system`, `app`, `ui` (images and Markdown), `i18n`, reading window.state, appearance.theme and packages.list. Details: L2299–2357.
79
+ - No capability: `tools`, `storage`, `system`, `app`, `ui` (images and Markdown), `i18n`, reading window.state, appearance.theme and packages.list. Details: L2496–2554.
80
80
 
81
- **Test**: `tests/*.test.ts` with `node:test`, run by `vestra-plugin test`. `startPlugin(activate, { directory: new URL("..", import.meta.url) })` from `@vestra-player/sdk/testing` returns `{ host, stop }`; `host` is a TestHost (an in-memory player): `host.setSource(…)`, `host.command(id).run()`, `host.press(key)`, `await host.settle()`, then assert on `host.osd`, `host.window(id).props`… Guide: L1672–1860; TestHost: L7198.
81
+ **Test**: `tests/*.test.ts` with `node:test`, run by `vestra-plugin test`. `startPlugin(activate, { directory: new URL("..", import.meta.url) })` from `@vestra-player/sdk/testing` returns `{ host, stop }`, `host` an in-memory player (TestHost): act (`host.command(id).run()`, `host.press(key)`), `await host.settle()`, assert on `host.osd`, `host.window(id).props`… Guide: L1869–2057; TestHost: L10902.
82
82
 
83
83
  **Command line**
84
84
 
@@ -106,40 +106,40 @@ export default async function activate(plugin: Plugin) {
106
106
  - `limit`: A player-wide limit was reached, a property value is over the limits of PropValue
107
107
  - `reserved`: The id is `vestra` or starts with `vestra.`
108
108
  - `versionMismatch`: The package needs a newer player or another `apiVersion`
109
- - Others: PluginError, llms-full.txt L3307.
109
+ - Others: PluginError, llms-full.txt L3516.
110
110
 
111
111
  ## Reference
112
112
 
113
- - [llms-full.txt](https://vestrasys.github.io/vestra-player-sdk/llms-full.txt), also node_modules/@vestra-player/sdk/llms-full.txt; the pages are on the [site](https://vestrasys.github.io/vestra-player-sdk/).
113
+ - [llms-full.txt](https://vestrasys.github.io/vestra-player-sdk/llms-full.txt), also node_modules/@vestra-player/sdk/llms-full.txt; pages: [site](https://vestrasys.github.io/vestra-player-sdk/).
114
114
  - Tutorials: Getting started L9–237
115
115
  - Concepts: How a plugin runs L238–408; Commands, menus and key bindings L409–520; Playback state, controls and sources L521–666; Video and audio processing L667–745; Windows, panels, settings pages, dialogs and the OSD L746–1034
116
- - How-to: Keep a slider responsive while dragging L1035–1209; Remember a window's state between runs L1210–1339; Translate a plugin L1340–1523; Migrate a plugin to English source text L1524–1671; Test a plugin L1672–1860; Publish a plugin L1861–1949; Migrating off package rollback (1.5.16, removed in 1.5.17) L1950–2025
117
- - Guidelines: Interface guidelines L2026–2133; Menu guidelines L2134–2230
118
- - Reference: Manifest L2231–2298; Capabilities L2299–2357; Limits L2358–2472; Commands, menus and bindings L2473–2955; Platforms L2956–2984; Theme L2985–3206; Command line L3207–3264
119
- - [API: @vestra-player/sdk](https://vestrasys.github.io/vestra-player-sdk/modules/_vestra-player_sdk.html): L3265–7005
120
- - [API: @vestra-player/sdk/testing](https://vestrasys.github.io/vestra-player-sdk/modules/_vestra-player_sdk_testing.html): L7006–8476
116
+ - How-to: Control playback L1035–1163; Store a plugin's data L1164–1231; Keep a slider responsive while dragging L1232–1406; Remember a window's state between runs L1407–1536; Translate a plugin L1537–1720; Migrate a plugin to English source text L1721–1868; Test a plugin L1869–2057; Publish a plugin L2058–2146; Migrating off package rollback (1.5.16, removed in 1.5.17) L2147–2222
117
+ - Guidelines: Interface guidelines L2223–2330; Menu guidelines L2331–2427
118
+ - Reference: Manifest L2428–2495; Capabilities L2496–2554; Limits L2555–2669; Commands, menus and bindings L2670–3152; Platforms L3153–3181; Theme L3182–3403; Command line L3404–3461
119
+ - [API: @vestra-player/sdk](https://vestrasys.github.io/vestra-player-sdk/modules/_vestra-player_sdk.html): L3462–10678
120
+ - [API: @vestra-player/sdk/testing](https://vestrasys.github.io/vestra-player-sdk/modules/_vestra-player_sdk_testing.html): L10679–12888
121
121
 
122
122
  ## API
123
123
 
124
- Where each module of `plugin` (`plugin.<module>`) is declared:
124
+ Where each `plugin.<module>` is declared:
125
125
 
126
- - Plugin L3499, Scope L3368, PluginError L3307, Disposable L3280
127
- - Commands L3744; Windows L3974; Panels L4617; Dialogs L4903; Player L5370; video: VideoFilter L5677, VideoView L5740, RenderOptions L5782; audio: AudioFilter L5701; Subtitles L5880; media: MediaCapture L6041; Resolvers L6146; Packages L6388; Osd L5613; Host L5544; Clipboard L6520; Power L6540; Tools L6573; Storage L6616; System L6703; Secrets L6721; window: MainWindow L4740; App L4821; Bindings L6490; Ui L3849; Timeline L4697; Drops L4273; Appearance L4302; I18n L4444; Settings L4550.
126
+ - Plugin L3765, Scope L3592, PluginError L3516, Disposable L3477
127
+ - Commands L4156; Windows L5093; Panels L6512; Dialogs L6973; Player L7714; video: VideoFilter L8594, VideoView L8680, RenderOptions L8734; audio: AudioFilter L8631; Subtitles L8847; media: MediaCapture L9033; Resolvers L9204; Packages L9487; Osd L8459; Host L8301; Clipboard L9646; Power L9733; Tools L9792; Storage L9944; System L10143; Secrets L10223; window: MainWindow L6767; App L6879; Bindings L9604; Ui L4445; Timeline L6724; Drops L5786; Appearance L5840; I18n L6073; Settings L6356.
128
128
 
129
129
  ## Examples
130
130
 
131
131
  Tested plugins in [examples/](https://github.com/vestrasys/vestra-player-sdk/tree/main/examples):
132
132
 
133
- - hello: The README Quick start: one menu command and an on-screen message. L8907–8996
134
- - blur: A tool window with one slider that blurs the playing video. L8997–9258
135
- - signal-generator: Generates its own video and audio: colour bars and a 1 kHz tone. L9259–9591
136
- - bookmark: A tool window bound to the playback state: remember the position and jump back to it. L9592–9776
137
- - panel-menu: A sidebar panel with its own right-click menu. L9777–9982
138
- - menus: Radio menu items, separator groups and a menu item whose title changes. L9983–10142
139
- - theme-widgets: A tool window drawn with the player's theme and widgets. L10143–10306
140
- - markdown: A window that shows a Markdown document. L10307–10501
141
- - i18n: A plugin in the player's language: English source text, a Chinese translation. L10502–10669
133
+ - hello: The README Quick start: one menu command and an on-screen message. L13319–13408
134
+ - blur: A tool window with one slider that blurs the playing video. L13409–13670
135
+ - signal-generator: Generates its own video and audio: colour bars and a 1 kHz tone. L13671–14003
136
+ - bookmark: A tool window bound to the playback state: remember the position and jump back to it. L14004–14190
137
+ - panel-menu: A sidebar panel with its own right-click menu. L14191–14399
138
+ - menus: Radio menu items, separator groups and a menu item whose title changes. L14400–14559
139
+ - theme-widgets: A tool window drawn with the player's theme and widgets. L14560–14723
140
+ - markdown: A window that shows a Markdown document. L14724–14920
141
+ - i18n: A plugin in the player's language: English source text, a Chinese translation. L14921–15088
142
142
 
143
143
  ## Optional
144
144
 
145
- - [Changelog](https://github.com/vestrasys/vestra-player-sdk/blob/main/CHANGELOG.md); full doc comments in node_modules/@vestra-player/sdk/dist/plugin/types.d.ts (the API) and dist/plugin/testing.d.ts (TestHost); Slint library in slint/vestra/.
145
+ - [Changelog](https://github.com/vestrasys/vestra-player-sdk/blob/main/CHANGELOG.md); full doc comments in the package's dist/plugin/*.d.ts; Slint library in slint/vestra/.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vestra-player/sdk",
3
- "version": "1.5.29",
3
+ "version": "1.5.31",
4
4
  "description": "Plugin API types, test host and plugin CLI for Vestra Player (apiVersion vestra/1)",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {