changeset 14:d312acc19ef7

lib: add phase shift tracking to Signal This will be useful once we support filters that add various amounts of phase shift. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Sun, 07 Jun 2020 14:55:06 -0400
parents 3c783bbe4cda
children fe38ee84a4e6
files src/lib/signal.rs src/lib/signal/filesource.rs src/lib/signal/gain.rs src/lib/signal/mixer.rs src/lib/signal/sinusoid.rs
diffstat 5 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/signal.rs	Tue Jun 09 21:05:26 2020 -0400
+++ b/src/lib/signal.rs	Sun Jun 07 14:55:06 2020 -0400
@@ -50,4 +50,5 @@
     fn sample_rate(&self) -> u64;
     fn sample_size(&self) -> usize;
     fn freq(&self) -> u64;
+    fn phase_shift(&self) -> u64;
 }
--- a/src/lib/signal/filesource.rs	Tue Jun 09 21:05:26 2020 -0400
+++ b/src/lib/signal/filesource.rs	Sun Jun 07 14:55:06 2020 -0400
@@ -62,6 +62,10 @@
     fn freq(&self) -> u64 {
         self.freq
     }
+
+    fn phase_shift(&self) -> u64 {
+        0
+    }
 }
 
 impl<T: BufRead, U: SignalFormatter> Iterator for FileSourceSignal<T, U> {
--- a/src/lib/signal/gain.rs	Tue Jun 09 21:05:26 2020 -0400
+++ b/src/lib/signal/gain.rs	Sun Jun 07 14:55:06 2020 -0400
@@ -54,6 +54,10 @@
     fn freq(&self) -> u64 {
         self.lhs.freq()
     }
+
+    fn phase_shift(&self) -> u64 {
+        self.lhs.phase_shift()
+    }
 }
 
 impl<T: Signal> Iterator for Gain<T> {
--- a/src/lib/signal/mixer.rs	Tue Jun 09 21:05:26 2020 -0400
+++ b/src/lib/signal/mixer.rs	Sun Jun 07 14:55:06 2020 -0400
@@ -59,6 +59,10 @@
     fn freq(&self) -> u64 {
         panic!("TODO");
     }
+
+    fn phase_shift(&self) -> u64 {
+        panic!("TODO");
+    }
 }
 
 impl<T: Signal, U: Signal> Iterator for Mixer<T, U> {
--- a/src/lib/signal/sinusoid.rs	Tue Jun 09 21:05:26 2020 -0400
+++ b/src/lib/signal/sinusoid.rs	Sun Jun 07 14:55:06 2020 -0400
@@ -63,6 +63,10 @@
     fn freq(&self) -> u64 {
         0 /* the center frequency is always 0 */
     }
+
+    fn phase_shift(&self) -> u64 {
+        0
+    }
 }
 
 impl Iterator for Sinusoid {