Expand description
HTTP REST API server for VibeLang (core2 backend).
Provides a REST API and WebSocket endpoint for querying and controlling a running VibeLang session using the vibelang-core2 runtime.
§Features
- Full CRUD operations for voices, patterns, melodies, sequences
- Transport control (play, stop, seek, tempo)
- Effect and sample management
- MIDI routing and callbacks
- Real-time WebSocket events
- Live state queries (active synths, meters)
§Usage
ⓘ
use vibelang_http::{start_server, AppState};
use vibelang_core::RuntimeHandle;
let handle = runtime.handle();
let state = runtime.state();
tokio::spawn(async move {
start_server(handle, state, 1606, None).await;
});Structs§
- Active
Fade - Active
Sequence - Active
Synth - AppState
- Shared application state for HTTP handlers.
- Effect
- Effect
Create - Effect
Update - Error
Response - EvalJob
- Internal request sent to the main thread for evaluation
- Eval
Result - Result of code evaluation
- Fade
Create - Group
- Group
Create - Group
Update - Live
State - Loop
Status - Melody
- Melody
Create - Melody
Event - Melody
Update - Meter
Level - Note
OffRequest - Note
OnRequest - Param
Set - Pattern
- Pattern
Create - Pattern
Event - Pattern
Update - Sample
- Sample
Load - Sample
Slice - Seek
Request - Sequence
- Sequence
Clip - Sequence
Create - Sequence
Start Request - Sequence
Update - Source
Location - Start
Request - Stop
Request - Synth
DefInfo - Synth
DefParam - Time
Signature - Transport
State - Transport
Update - Trigger
Request - Voice
- Voice
Create - Voice
Update - WebSocket
Event - WebSocket event sent to clients.
Enums§
Functions§
- start_
server - Start the HTTP server on the specified port.
Type Aliases§
- Eval
Sender - Sender type for eval requests.
- Meter
Levels - MeterLevels is a map from group path to meter level.