Voice Rework -- Events, Track Queues (#806)
This implements a proof-of-concept for an improved audio frontend. The largest change is the introduction of events and event handling: both by time elapsed and by track events, such as ending or looping. Following on from this, the library now includes a basic, event-driven track queue system (which people seem to ask for unusually often). A new sample, `examples/13_voice_events`, demonstrates both the `TrackQueue` system and some basic events via the `~queue` and `~play_fade` commands. Locks are removed from around the control of `Audio` objects, which should allow the backend to be moved to a more granular futures-based backend solution in a cleaner way.
This commit is contained in:
21
examples/twilight/Cargo.toml
Normal file
21
examples/twilight/Cargo.toml
Normal file
@@ -0,0 +1,21 @@
|
||||
[package]
|
||||
name = "basic-twilight-bot"
|
||||
version = "0.1.0"
|
||||
authors = ["Twilight and Serenity Contributors"]
|
||||
edition = "2018"
|
||||
|
||||
[dependencies]
|
||||
futures = "0.3"
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = "0.2"
|
||||
serde_json = { version = "1" }
|
||||
tokio = { features = ["macros", "rt-threaded", "sync"], version = "0.2" }
|
||||
twilight-gateway = "0.1"
|
||||
twilight-http = "0.1"
|
||||
twilight-model = "0.1"
|
||||
twilight-standby = "0.1"
|
||||
|
||||
[dependencies.songbird]
|
||||
path = "../.."
|
||||
default-features = false
|
||||
features = ["twilight-rustls", "gateway", "driver", "stock-zlib"]
|
||||
Reference in New Issue
Block a user