diff options
| author | Nathan Perry <avaglir@gmail.com> | 2019-02-17 01:59:22 -0500 |
|---|---|---|
| committer | Nathan Perry <avaglir@gmail.com> | 2019-02-17 01:59:22 -0500 |
| commit | e9e3458225cfc0fdc20a7d2960ef15d4de349802 (patch) | |
| tree | 036dbf021aafb2479faae487c9d71f8d1b0f2e43 /src/audio | |
| parent | 27ab061563de6c7d1b79dccd8585655ef8aa9700 (diff) | |
support audio memes
Diffstat (limited to 'src/audio')
| -rw-r--r-- | src/audio/mod.rs | 2 | ||||
| -rw-r--r-- | src/audio/play_queue.rs | 3 | ||||
| -rw-r--r-- | src/audio/timeutil.rs | 3 | ||||
| -rw-r--r-- | src/audio/ytdl.rs | 9 |
4 files changed, 9 insertions, 8 deletions
diff --git a/src/audio/mod.rs b/src/audio/mod.rs index a7f3e83..eaebf55 100644 --- a/src/audio/mod.rs +++ b/src/audio/mod.rs @@ -19,7 +19,7 @@ use crate::{ }; pub use self::timeutil::parse_times; -pub use self::ytdl::ytdl; +pub use self::ytdl::*; pub use self::play_queue::PlayQueue; mod timeutil; diff --git a/src/audio/play_queue.rs b/src/audio/play_queue.rs index 6f3a130..deb4e2c 100644 --- a/src/audio/play_queue.rs +++ b/src/audio/play_queue.rs @@ -103,11 +103,10 @@ impl PlayQueue { } }, Right(ref vec) => { - ::serenity::voice::opus(true, ::std::io::Cursor::new(vec.clone())) + ::serenity::voice::pcm(true, ::std::io::Cursor::new(vec.clone())) } }; - let mut manager = voice_manager.lock(); let handler = manager.join(*TARGET_GUILD_ID, must_env_lookup::<u64>("VOICE_CHANNEL")); diff --git a/src/audio/timeutil.rs b/src/audio/timeutil.rs index d0bd9d5..b2232de 100644 --- a/src/audio/timeutil.rs +++ b/src/audio/timeutil.rs @@ -59,7 +59,6 @@ mod test { assert_eq!(captures.name("seconds").unwrap().as_str(), "3"); assert!(START_REGEX.captures("").is_none()); - assert!(START_REGEX.captures("start s").is_none()); let captures = START_REGEX.captures("start 1").unwrap(); assert_eq!(captures.name("seconds").unwrap().as_str(), "1"); @@ -74,7 +73,6 @@ mod test { assert_eq!(captures.name("seconds").unwrap().as_str(), "3"); assert!(DUR_REGEX.captures("").is_none()); - assert!(DUR_REGEX.captures("dur s").is_none()); let captures = DUR_REGEX.captures("dur 1").unwrap(); assert_eq!(captures.name("seconds").unwrap().as_str(), "1"); @@ -89,7 +87,6 @@ mod test { assert_eq!(captures.name("seconds").unwrap().as_str(), "3"); assert!(END_REGEX.captures("").is_none()); - assert!(END_REGEX.captures("end s").is_none()); let captures = END_REGEX.captures("end 1").unwrap(); assert_eq!(captures.name("seconds").unwrap().as_str(), "1"); diff --git a/src/audio/ytdl.rs b/src/audio/ytdl.rs index d16d166..8384db4 100644 --- a/src/audio/ytdl.rs +++ b/src/audio/ytdl.rs @@ -42,7 +42,7 @@ impl Drop for ChildContainer { } } -pub fn ytdl(uri: &str, start: Option<Duration>, end: Option<Duration>) -> Result<Box<AudioSource>> { +pub fn ytdl_reader(uri: &str, start: Option<Duration>, end: Option<Duration>) -> Result<Box<dyn Read + Send>> { let args = [ "-f", "webm[abr>0]/bestaudio/best", @@ -113,5 +113,10 @@ pub fn ytdl(uri: &str, start: Option<Duration>, end: Option<Duration>) -> Result .stdout(Stdio::piped()) .spawn()?; - Ok(pcm(true, ChildContainer(command))) + Ok(Box::new(ChildContainer(command))) +} + +pub fn ytdl(uri: &str, start: Option<Duration>, end: Option<Duration>) -> Result<Box<AudioSource>> { + let command = ytdl_reader(uri, start, end)?; + Ok(pcm(true, command)) } |
