Skip to main content

Crate wavyzon_plugin

Crate wavyzon_plugin 

Source
Expand description

§wavyzon-plugin

The plugin API of Wavyzon, and the data model every Wavyzon crate shares (tracks, failures, events, streams).

A plugin implements Plugin and, in Plugin::register, adds any of:

ExtensionTraitExposed as
SourcesSource (+ Playable, IsrcLookup, Recommender)loadtracks prefixes and links, playback
Audio filtersFilterFactory → AudioFilterfilters.pluginFilters.<name>
Event listenersEventListenerevery player event
HTTP routes[axum::Router]/v1/plugins/<name>/…

See docs/src/plugins.md in the repository for a full guide.

Re-exports§

pub use axum;
pub use serde_json;

Structs§

Event
One event. Optional fields are omitted from JSON when unset.
Failure
LoadResult
Playlist
PluginContext
What a plugin is given at startup.
PluginManifest
Static description of a plugin, shown in GET /v1/info and GET /v1/plugins.
Registry
Everything plugins contribute.
Stream
An open audio stream.
Track
A playable (or mirrorable) recording.

Enums§

EndReason
EventType
Format
How the bytes of a Stream are encoded.
LoadType
What a loadtracks call produced.
PluginError
Severity

Constants§

API_VERSION
Version of this API. The node refuses plugins built for another major.
CHANNELS
Interleaved channels.
FRAME_SAMPLES
One 20 ms frame: 960 samples per channel, interleaved L/R.
SAMPLE_RATE
Sample rate of every frame handed to a filter.

Traits§

AudioFilter
A running filter instance. The player builds one instance per deck (so two exist during a crossfade), and may call FilterFactory::create once more just to validate a configuration.
EventListener
Receives every player event of every session, including Wavyzon-specific events a Lavalink v4 client did not opt into. Runs on a dedicated task; slow listeners only delay themselves.
FilterFactory
Builds AudioFilters from client JSON.
IsrcLookup
Playable
A source that can stream audio.
Plugin
A Wavyzon plugin.
Recommender
Source
Resolves searches, links and identifiers to tracks.

Attribute Macros§

async_trait