summaryrefslogtreecommitdiff
path: root/plugins/gme/game-music-emu-0.6pre/gme/Downsampler.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gme/game-music-emu-0.6pre/gme/Downsampler.h')
-rw-r--r--plugins/gme/game-music-emu-0.6pre/gme/Downsampler.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/plugins/gme/game-music-emu-0.6pre/gme/Downsampler.h b/plugins/gme/game-music-emu-0.6pre/gme/Downsampler.h
new file mode 100644
index 00000000..8ce85e27
--- /dev/null
+++ b/plugins/gme/game-music-emu-0.6pre/gme/Downsampler.h
@@ -0,0 +1,25 @@
+// Linear downsampler with pre-low-pass
+
+// Game_Music_Emu 0.6-pre
+#ifndef DOWNSAMPLER_H
+#define DOWNSAMPLER_H
+
+#include "Resampler.h"
+
+class Downsampler : public Resampler {
+public:
+ Downsampler();
+
+protected:
+ virtual blargg_err_t set_rate_( double );
+ virtual void clear_();
+ virtual sample_t const* resample_( sample_t**, sample_t const*, sample_t const [], int );
+
+private:
+ enum { stereo = 2 };
+ enum { write_offset = 8 * stereo };
+ int pos;
+ int step;
+};
+
+#endif