Refactor hello-oboe sample to use floats in signal path
diff --git a/samples/shared/Mixer.h b/samples/shared/Mixer.h
index 6969832..d58d192 100644
--- a/samples/shared/Mixer.h
+++ b/samples/shared/Mixer.h
@@ -17,19 +17,19 @@
 #ifndef RHYTHMGAME_MIXER_H
 #define RHYTHMGAME_MIXER_H
 
-#include "RenderableAudio.h"
+#include <array>
+#include "IRenderableAudio.h"
 
 constexpr int32_t kBufferSize = 192*10;  // Temporary buffer is used for mixing
 constexpr uint8_t kMaxTracks = 100;
 
-template <typename T>
-class Mixer : public RenderableAudio<T> {
+class Mixer : public IRenderableAudio {
 
 public:
-    void renderAudio(T *audioData, int32_t numFrames) {
+    void renderAudio(float *audioData, int32_t numFrames) {
 
         // Zero out the incoming container array
-        memset(audioData, 0, sizeof(T) * numFrames);
+        memset(audioData, 0, sizeof(float) * numFrames);
 
         for (int i = 0; i < mNextFreeTrackIndex; ++i) {
             mTracks[i]->renderAudio(mixingBuffer, numFrames);
@@ -40,13 +40,13 @@
         }
     }
 
-    void addTrack(std::shared_ptr<RenderableAudio<T>> renderer){
+    void addTrack(std::shared_ptr<IRenderableAudio> renderer){
         mTracks[mNextFreeTrackIndex++] = renderer;
     }
 
 private:
-    T mixingBuffer[kBufferSize];
-    std::array<std::shared_ptr<RenderableAudio<T>>, kMaxTracks> mTracks;
+    float mixingBuffer[kBufferSize];
+    std::array<std::shared_ptr<IRenderableAudio>, kMaxTracks> mTracks;
     uint8_t mNextFreeTrackIndex = 0;
 };