]> code.octet-stream.net Git - m17rt/blobdiff - tools/m17rt-mod/src/main.rs
Successful round tripping wav -> rrc -> audio out
[m17rt] / tools / m17rt-mod / src / main.rs
diff --git a/tools/m17rt-mod/src/main.rs b/tools/m17rt-mod/src/main.rs
new file mode 100644 (file)
index 0000000..08973cb
--- /dev/null
@@ -0,0 +1,25 @@
+use m17app::app::M17App;
+use m17app::soundmodem::{
+    InputRrcFile, InputSoundcard, NullInputSource, NullOutputSink, OutputRrcFile, Soundmodem,
+};
+use m17codec2::{Codec2Adapter, WavePlayer};
+use std::path::PathBuf;
+
+pub fn mod_test() {
+    let in_path = PathBuf::from("../../../Data/test_vk7xt_8k.wav");
+    let out_path = PathBuf::from("../../../Data/mymod.rrc");
+    let soundmodem =
+        Soundmodem::new_with_input_and_output(NullInputSource::new(), OutputRrcFile::new(out_path));
+    let app = M17App::new(soundmodem);
+    app.start();
+    std::thread::sleep(std::time::Duration::from_secs(1));
+    println!("Beginning playback...");
+    WavePlayer::play(in_path, app.tx());
+    println!("Playback complete, terminating in 5 secs");
+    std::thread::sleep(std::time::Duration::from_secs(5));
+}
+
+fn main() {
+    env_logger::init();
+    mod_test();
+}